» » »

Определите предикат для вычисления количества делителей числа.

% Bilet15
% Patched by JamshyT 14.01.13
% Special for AISTd-31 :)
% 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).

kolDelit(X,T):-setof(H,delitel(H,X),L),dlina(L,T).

jstart:- write(' Vvedite chislo: '),nl,read(IJAM1),nl,
kolDelit(IJAM1,Z),
write(Z).


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.