0

我必须编写一个谓词,它计算给定数字的阶乘。目标是仅使用谓词,而不是内置的序言算术。

阶乘(N,X) - 其中 X = !N

例如必须如何在不同的谓词(两个数字的总和)上完成:

isnumber(zero).
isnumber(s(X)) :- isnumber(X).
 
add(zero,X,X) :- isnumber(X).
add(s(X),Y,s(Z)) :- add(X,Y,Z).

我尝试了多次,但我找不到解决方案。谢谢您的回答。

4

0 回答 0