Math Prolog-声明算术子句

Math Prolog-声明算术子句,math,prolog,clause,Math,Prolog,Clause,一个简单的问题,我将如何声明一个子句,该子句将产生指定的+1+2和+3数字?我试过: addup(Thenumber,Thenumber+1). addup(Thenumber,Thenumber+2). addup(Thenumber,Thenumber+3). 但是当我运行它时,比如说,number=5,它只返回5+15+25+3。我曾尝试使用“是”来强制它进行评估,但它似乎不起作用。任何帮助都将不胜感激。试试以下方法: addup(X, Y) :- Y is X + 1. 或 你的问题

一个简单的问题,我将如何声明一个子句,该子句将产生指定的+1+2和+3数字?我试过:

addup(Thenumber,Thenumber+1).
addup(Thenumber,Thenumber+2).
addup(Thenumber,Thenumber+3).
但是当我运行它时,比如说,number=5,它只返回5+15+25+3。我曾尝试使用“是”来强制它进行评估,但它似乎不起作用。任何帮助都将不胜感激。

试试以下方法:

addup(X, Y) :- Y is X + 1.

你的问题应该是加法(2,X)

那么X应该是3。如果要参数化您的addup参数,只需执行以下操作:

addup(X, Y, X + Y).
用加法(5,6,X)提问

addup(X, Y, X + Y).