НОД - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д