factorial(0, 1).
factorial
(N
, F
) :- N
> 0, Prev
is N
-1, factorial
(Prev
, R
), F
is R
* N
.
:- factorial(5,X), writeln(X).
CmZhY3RvcmlhbCgwLCAxKS4KZmFjdG9yaWFsKE4sIEYpIDotIE4gPiAwLCBQcmV2IGlzIE4gLTEsIGZhY3RvcmlhbChQcmV2LCBSKSwgRiBpcyBSICogTi4KCjotIGZhY3RvcmlhbCg1LFgpLCB3cml0ZWxuKFgpLg==