% fac.pl fact(0,1). fact(1,1). fact(N, S) :- N > 1, M is N -1, fact(M, S1), S is N * S1.