Prolog 整数除法上的约束

Prolog 整数除法上的约束,prolog,eclipse-clp,Prolog,Eclipse Clp,我在prolog(Eclipse CLP)中有以下语句: 结果是否。。我想检查X除以5的整数是否等于2。如果我写下以下陈述: ?-X::1..100, X//5 #= 2, X = 12. 我将得到以下错误: //(X{1..100},5,_703)中的实例化错误 因此,问题是如何检查变量X的整数除法?我假设您使用的是library(ic),它目前不直接支持地板或截断除法。通过引入“余数”变量并使用乘法,可以重新设定条件: ?- X::1..100, Rem::0..4, X #= 5*2

我在prolog(Eclipse CLP)中有以下语句:

结果是
否。
。我想检查
X
除以
5
的整数是否等于
2
。如果我写下以下陈述:

?-X::1..100,  X//5 #= 2, X = 12.
我将得到以下错误:

//(X{1..100},5,_703)中的实例化错误


因此,问题是如何检查变量
X
的整数除法?

我假设您使用的是library(ic),它目前不直接支持地板或截断除法。通过引入“余数”变量并使用乘法,可以重新设定条件:

?- X::1..100, Rem::0..4, X #= 5*2 + Rem, X = 13.
X = 13
Rem = 3
Yes (0.00s cpu)

我假设您使用的是library(ic),它目前不直接支持地板或截断分区。通过引入“余数”变量并使用乘法,可以重新设定条件:

?- X::1..100, Rem::0..4, X #= 5*2 + Rem, X = 13.
X = 13
Rem = 3
Yes (0.00s cpu)