Списки и рекурсия - Prolog
Формулировка задачи:
Помогите пожалуйста, по 2 числам требуется создать список натуральных чисел, элементы которого лежат внутри этого диапазона, например ввели 2 и 8, ответ [3,4,5,6,7], а если ввели 8 и 2 то наоборот [7,6,5,4,3], не понимаю как создать предикат для проверки сразу двух условий, для сравнения n>m и n<m, пишу на прологе 5.2
Решение задачи: «Списки и рекурсия»
textual
Листинг программы
domains list = integer* predicates generate(integer,integer,list) generate_plus(integer,integer,list) clauses generate(A,B,L) :- generate_plus(A, B, [_|L]). generate_plus(A, A, []) :- !. generate_plus(A, B, [A|T]) :- A > B, !, AA = A - 1, generate_plus(AA, B, T). generate_plus(A, B, [A|T]) :- A < B, AA = A + 1, generate_plus(AA, B, T). goal generate(8, 2, L1), write(L1), nl, generate(2, 8, L2), write(L2), nl.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д