9 lines
241 B
Prolog
9 lines
241 B
Prolog
% Taken from RosettaCode Factorial page for Prolog
|
|
fact(X, 1) :- X<2.
|
|
fact(X, F) :- Y is X-1, fact(Y,Z), F is Z*X.
|
|
|
|
goal_expansion((X = factorial_of(N)), (X = F)) :- fact(N,F).
|
|
|
|
test :-
|
|
F = factorial_of(10),
|
|
format('!10 = ~p~n', F).
|