Tuesday, 30 October 2007

predicates
%factorial_0(real,real)
%factorial_1(real,real)
factorial_2(real,real,real)
%goal
%factorial_0(0,X),write("0! = ",X).
%factorial_1(1,X),write("1! = ",X).
%factorial_2(4,1,X),write("2 ! = ",X).

clauses
/*factorial_0(1,1):-!.
factorial_0(N,R):-Ni=N-1,
factorial_0(Ni,Ri),
R=N*Ri.*/
%__________________________________________________

/*factorial_1(N,R):-N=0,R=1,!;
Ni=N-1,
factorial_1(Ni,Ri),
R=N*Ri.*/
%__________________________________________________

%factorial_2(0,1,1):-!.
/*factorial_2(N,C,R):-
C>N,R=1,write("!",C),!;
write("Pasul ",C,"\n"),
Ci=C+1,write("C",C,"=",C,"+1\n"),
R=C*Ci,write("R=",C,"*",Ci,"\nR=",R,"\n"),
factorial_2(N,Ci,R).*/
%__________________________________________________

No comments: