fac(0,1):-!.
fac(N,Nfac) :-
N>0,
M is N-1,
fac(M, Mfac)
Nfac is N*Mfac.