PREDICATES f(real,real) f2(real,real) f2(real,real,real,real) CLAUSES f(0,1). f(N,R):-N>0,Na=N-1,f(Na,Ra),R=Ra*N. f2(N,R):-f2(N,0,1,R),!. f2(N,N,Ri,Ri). % (i,i,i,o) f2(N,C,Ri,R):-C<N,Ca=C+1,Ria=Ri*Ca,f2(N,Ca,Ria,R). %(i,i,i ,o)