簡體   English   中英

約束整數除法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM