1

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

?-X::1..100,  X/5 #= 2, X = 12.

结果是No.。我想检查Xover的整数除法5是否等于2。如果我写以下语句:

?-X::1..100,  X//5 #= 2, X = 12.

我会收到以下错误:

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

那么,问题是如何检查变量的整数除法X

4

1 回答 1

0

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

?- X::1..100, Rem::0..4, X #= 5*2 + Rem, X = 13.
X = 13
Rem = 3
Yes (0.00s cpu)
于 2019-04-16T10:27:51.300 回答