一个简单的问题,我将如何声明一个会产生指定数字 +1 +2 和 +3 的子句?我努力了:
addup(Thenumber,Thenumber+1).
addup(Thenumber,Thenumber+2).
addup(Thenumber,Thenumber+3).
但是当我说 Thenumber=5 运行它时,它只返回 5+1 5+2 5+3。我曾尝试使用"is"来强制它进行评估,但它似乎不起作用。任何帮助,将不胜感激。
最佳答案
试试这个:
addup(X, Y) :- Y is X + 1.
要么
addup(X, X+1).
你的问题应该是 addup(2, X)
那么 X 应该是 3。如果你想参数化你的 addup 参数,就让它:
addup(X, Y, X + Y).
并询问 addup(5, 6, X)。
关于math - Prolog - 声明算术子句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2381962/