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

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Перестановки элементов списка и упрощение записи выражения»

textual
Листинг программы
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>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы