НОД - 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.

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


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

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

14   голосов , оценка 4.071 из 5