我必须编写一个谓词,它计算给定数字的阶乘。目标是仅使用谓词,而不是内置的序言算术。
阶乘(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).
我尝试了多次,但我找不到解决方案。谢谢您的回答。
我必须编写一个谓词,它计算给定数字的阶乘。目标是仅使用谓词,而不是内置的序言算术。
阶乘(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).
我尝试了多次,但我找不到解决方案。谢谢您的回答。