Prolog算法
如果我有以下SWI Prolog查询和答案Prolog算法,prolog,clpfd,Prolog,Clpfd,如果我有以下SWI Prolog查询和答案 [A,B,C] ins 1..3, A#= B + C. 需要从以下不正确的选项中进行选择: A in 2..3, B in 1..3, C in 1..3. 我认为2..3中的A是不可能的,因为A=3在任何情况下都是不可能的。实际上,约束的作用是减少B和C的域 因为它们的总和必须在范围1..3内,并且两者都具有范围1..3。它们必须假定范围1..2中的值 然后,2..3中的A这是唯一正确的答案。这里只有一个答案。你是什么意思?这个查询返回的是2.
[A,B,C] ins 1..3, A#= B + C.
需要从以下不正确的选项中进行选择:
A in 2..3,
B in 1..3,
C in 1..3.
我认为2..3中的A是不可能的,因为A=3在任何情况下都是不可能的。实际上,约束的作用是减少B和C的域 因为它们的总和必须在范围
1..3
内,并且两者都具有范围1..3
。它们必须假定范围1..2
中的值
然后,
2..3中的A
这是唯一正确的答案。这里只有一个答案。你是什么意思?这个查询返回的是2..3中的A,A#=B+C,1..2中的B,1..2中的C
,而不是你所得到的,如果你想A
,B
和C
不同,你必须这样说,比如说有一个所有不同的约束。