Получается лисп
Устно, задачки по типу (* * *)
и ,
, рекурсивный setf
Устно, задачки про funcall
Квадратное уравнение на and/or
Аналог функции zip
: (zip '((A A A) (B B B) (C C C))) -> ((A B C) (A B C) (A B C))
, нельзя использовать mapcar
Написать свой reverse
, реализовать свап двух элементов через рекурсию и задачка про мост и фонарик (посчитать оптимальное время)
Привести матрицу к диагональному виду, в качестве типа матрицы использовать тип array
. В задачке ещё реализована возможность проверки, а действительно ли матрица приводится к диагональному виду (результат reduce
будет равен исходной матрице):
(defvar MMM #2A(...))
(reduce #'mmul (list (eigen-m MMM) (diagonal MMM) (inv (eigen-m MMM))))
Но это не сработает, если есть кратные корни (там нереальное мета программирование по поиску ФСР начинается)
Сопоставление SQL и PROLOG
Найти решения подставляя базовые операторы +, -, *, div, mod: (((5 ? 2) ? 3) ? 4) = 10
Тоже самое, что в 3, только через DCG
Дерево решений для max3clipping
и max3
В битве двух персонажей определить, можно ли выиграть первому персонажу за X ходов
Дана БЗ с функциями fn(InList, OutList)
. Для произвольного списка аргументов найти такую функцию, чтобы подставив входящие аргументы получить выходящие. match([1, 2, 3], [1, 2], R) -> R = [plus(1, 1), minus(3, 1)...]
Лабиринт