НОД - Prolog
Формулировка задачи:
Сформировать список L1 из элементов: НОД всех элементов списка L, НОД последних n-1 элементов списка L, НОД последних n-2 элементов списка L и т.д.
Решение задачи: «НОД»
textual
Листинг программы
domains i=integer il=i* predicates sp(il,il). ob(il,il,il). nod(il,i). vixsp(il,i). clauses ob([],L,L). ob([X|L1],L2,[X|L3]):-ob(L1,L2,L3). sp(L,Y):-findall(X,vixsp(L,X),Y). vixsp(L,X):-ob(_,L2,L),nod(L2,X). nod([X],X). nod([X,Y|L],C):-nod([Y|L],M),X>M,C=X-M. nod([X,Y|L],C):-nod([Y|L],M),M>X,C=M-X. nod([X,Y|L],M):-nod([Y|L],M),X=M.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д