Almaz90
1

Перестановки элементов списка и упрощение записи выражения

04.12.2011, 20:36. Показов 2071. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, очень нужна помощь в решении следующих задач:
1. Для заданного списка получить множество всех возможных перестановок его элементов

2. Алгебраическое выражение содержит четыре арифметические операции над переменными, разработать программу, упрощающую выражение записанное в инфиксной форме записи. Например, 0+a*(b+1*c)=a(b+c).

Заранее спасибо!
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2011, 20:36
Ответы с готовыми решениями:

Реализуйте однонаправленный список.Режим сортировки элементов списка без перестановки самих элементов
Реализуйте задание .В каждом из вариантов должно быть реализованы следующие режимы работы:...

Упрощение цикла сортировки элементов массивов. Упрощение цикла поиска нужного элемента в массиве
Уверен, что данный код можно написать компактнее чем есть сейчас. /*Опишите, используя...

Перестановки: чтобы любые две соседние перестановки отличались только порядком двух соседних элементов
Вводится число n <= 8. Вывести все перестановки чисел 1,2..,n, так, чтобы две любые две соседние...

Упрощение выражения
Вот упростил выражение и видно, что можно упростить ещё и получить 10, вопрос, а как это сделать?...

2
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 15
05.12.2011, 18:00 2
вот есть мысль по 2ой задаче... но она не закончена

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(defun simple (l)
  (cond
    ((atom L) L)
    ((and (eq (first L) 0) (eq (second L) '+)) (third L))
    ((and (eq (first L) 0) (eq (second L) '+)) (third L))
    ((and (eq (third L) 0) (eq (second L) '+)) (first L))
    ((and (eq (second L) '-) (eq (third L) 0)) (first L))
    ((and (eq (first L) 1) (eq (second L) '*)) (third L))
    ((and (eq (second L) '*) (eq (third L) 1)) (first L))
    ((and (eq (second L) '*) (eq (third L) 0)) 0)
    ((and (eq (first L) 0) (eq (second L) '*)) 0)
    ((and (eq (second L) '/) (eq (third L) 1)) (first L))
    ((and (eq (first L) 1) (eq (second L) '/)) (list 1 '/ (third L)))
    ((and (eq (first L) 0) (eq (second L) '-)) (list '- (third L)))
    (t L)))
    
(defun simpleall (L)
  (cond 
    ((equal L (simple L)) L)
    (t (simpleall (simple L)))))
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
09.12.2011, 18:41 3
1.
Lisp
1
2
3
4
5
6
7
8
9
(defun perms (lst)
  (if lst
      (apply 'concatenate 'list
         (mapcar (lambda (x)
               (mapcar (lambda (ys)
                 (cons x ys))
                   (perms (remove x lst))))
             lst))
      '(nil)))
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CL-USER> (perms '(1 2 3 4 5))
((1 2 3 4 5) (1 2 3 5 4) (1 2 4 3 5) (1 2 4 5 3) (1 2 5 3 4) (1 2 5 4 3)
 (1 3 2 4 5) (1 3 2 5 4) (1 3 4 2 5) (1 3 4 5 2) (1 3 5 2 4) (1 3 5 4 2)
 (1 4 2 3 5) (1 4 2 5 3) (1 4 3 2 5) (1 4 3 5 2) (1 4 5 2 3) (1 4 5 3 2)
 (1 5 2 3 4) (1 5 2 4 3) (1 5 3 2 4) (1 5 3 4 2) (1 5 4 2 3) (1 5 4 3 2)
 (2 1 3 4 5) (2 1 3 5 4) (2 1 4 3 5) (2 1 4 5 3) (2 1 5 3 4) (2 1 5 4 3)
 (2 3 1 4 5) (2 3 1 5 4) (2 3 4 1 5) (2 3 4 5 1) (2 3 5 1 4) (2 3 5 4 1)
 (2 4 1 3 5) (2 4 1 5 3) (2 4 3 1 5) (2 4 3 5 1) (2 4 5 1 3) (2 4 5 3 1)
 (2 5 1 3 4) (2 5 1 4 3) (2 5 3 1 4) (2 5 3 4 1) (2 5 4 1 3) (2 5 4 3 1)
 (3 1 2 4 5) (3 1 2 5 4) (3 1 4 2 5) (3 1 4 5 2) (3 1 5 2 4) (3 1 5 4 2)
 (3 2 1 4 5) (3 2 1 5 4) (3 2 4 1 5) (3 2 4 5 1) (3 2 5 1 4) (3 2 5 4 1)
 (3 4 1 2 5) (3 4 1 5 2) (3 4 2 1 5) (3 4 2 5 1) (3 4 5 1 2) (3 4 5 2 1)
 (3 5 1 2 4) (3 5 1 4 2) (3 5 2 1 4) (3 5 2 4 1) (3 5 4 1 2) (3 5 4 2 1)
 (4 1 2 3 5) (4 1 2 5 3) (4 1 3 2 5) (4 1 3 5 2) (4 1 5 2 3) (4 1 5 3 2)
 (4 2 1 3 5) (4 2 1 5 3) (4 2 3 1 5) (4 2 3 5 1) (4 2 5 1 3) (4 2 5 3 1)
 (4 3 1 2 5) (4 3 1 5 2) (4 3 2 1 5) (4 3 2 5 1) (4 3 5 1 2) (4 3 5 2 1)
 (4 5 1 2 3) (4 5 1 3 2) (4 5 2 1 3) (4 5 2 3 1) (4 5 3 1 2) (4 5 3 2 1)
 (5 1 2 3 4) (5 1 2 4 3) (5 1 3 2 4) (5 1 3 4 2) (5 1 4 2 3) (5 1 4 3 2)
 (5 2 1 3 4) (5 2 1 4 3) (5 2 3 1 4) (5 2 3 4 1) (5 2 4 1 3) (5 2 4 3 1)
 (5 3 1 2 4) (5 3 1 4 2) (5 3 2 1 4) (5 3 2 4 1) (5 3 4 1 2) (5 3 4 2 1)
 (5 4 1 2 3) (5 4 1 3 2) (5 4 2 1 3) (5 4 2 3 1) (5 4 3 1 2) (5 4 3 2 1))
CL-USER>
0
09.12.2011, 18:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2011, 18:41
Помогаю со студенческими работами здесь

упрощение выражения
можно ли упростить данный пример? if($a>100 && $a<200){.... и так же как задать условие если нам...

Упрощение выражения
Упростить \frac{8^{x} + 4^{x} - 2*2^{x}}{2^{z} (2^{x} -1)} вынес за скобки 2^{x} сократил, а...

Упрощение выражения
Подскажите пожалуйста, как упростить или к каким правилам обратиться, что бы это сделать на данном...

Упрощение выражения
Имеется выражение: \frac{{e}^{{p}_{1}\omega t}}{{p}_{1}-{p}_{2}}+\frac{{e}^{{p}_{2}\omega...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru