[英]Constraint over the integer division
我在prolog(Eclipse CLP)中有以下聲明:
?-X::1..100, X/5 #= 2, X = 12.
結果為No.
。 我想檢查X
超過5
的整數除法是否等於2
。 如果我寫以下語句:
?-X::1..100, X//5 #= 2, X = 12.
我將收到以下錯誤:
//(X {1 .. 100},5,_703)中的實例化錯誤
因此,問題是如何檢查變量X
的整數除法?
我假設您使用的是庫(ic),該庫當前不直接支持地板分割或截斷分割。 您可以通過引入“剩余”變量並使用乘法來重新構造條件:
?- X::1..100, Rem::0..4, X #= 5*2 + Rem, X = 13.
X = 13
Rem = 3
Yes (0.00s cpu)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.