Главная
»
Информационные системы
»
Представление знаний в ИС
»
Определите предикат для вычисления суммы делителей числа.
Определите предикат для вычисления суммы делителей числа.
% Bilet16
% Patched 14.01.13
% To start type: jstart.
dlina([],0).
dlina([H|T],X):-dlina(T,X1), X is X1+1.
delit(X,Y):-0 is Y mod X.
between(X,Y,Z):-Y=<Z, X=Y.
between(X,Y,Z):-Y<Z,Y1 is Y+1, between(X,Y1,Z).
delitel(X,Y):-between(X,1,Y), delit(X,Y).
sum([],0).
sum([H|T],X):-sum(T,X1), X is X1+H.
sumDelit(X,T):-setof(H,delitel(H,X),L),sum(L,T).
jstart:- write(' Vvedite chislo: '),nl,read(IJAM1),nl,
sumDelit(IJAM1,T),
write(T).
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.