2014-05-17 2 views
1

나는 다음 SWI 프롤로그 쿼리를했고 프롤로그 연산

[A,B,C] ins 1..3, A#= B + C. 

에 응답하고 잘못 된 아래에서 선택하기 위해 필요한 경우
A in 2..3, 
B in 1..3, 
C in 1..3. 

내가 2에서하는 생각에 올바른 것입니다. 어떤 경우에도 A = 3 일 수 없으므로 .3 불가능합니다.

+0

여기에는 단 하나의 답변 만 있습니다. 무슨 소리 야? – m09

+1

이 쿼리는'A에서 2..3, A # = B + C, B가 1..2, C가 1..2'이고, 당신이 – m09

+0

을 주었던 것이 아니라'A', B'와'C'는 다르게 표현해야합니다. 예를 들어'all_different' 제약 조건이 있습니다. – m09

답변

2

사실, 제약이 무엇을, 그 합이 범위 1..3에 있어야하기 때문에 B와 C

의 도메인을 줄이기 위해, 둘 다 범위 1..3 있습니다. 그들은 1..2 범위의 값을 가정해야합니다.

그런 다음 A in 2..3 거기에서 유일한 정답입니다.