RosettaCodeData/Task/Factorial/Prolog/factorial-2.pro

9 lines
133 B
Prolog
Raw Permalink Normal View History

2013-04-10 21:29:02 -07:00
fact(N, NF) :-
fact(1, N, 1, NF).
fact(X, X, F, F) :- !.
fact(X, N, FX, F) :-
X1 is X + 1,
2016-12-05 22:15:40 +01:00
FX1 is FX * X1,
2013-04-10 21:29:02 -07:00
fact(X1, N, FX1, F).