1
Prolog를 처음 사용하고 현재 간단한 제약 조건 프로그래밍 문제로 작업 중입니다. 그래서 나는 4 개의 실수 A, B, C, D와 같은 속성을 가지고 있습니다. A + B + C + d = A B C * D = 7.11 정수로 작업하기가 더 쉽기 때문에 다음을 시도했습니다. 구현 : 위의 저를 줄 것이다 부분적으로 해결 대답부터Prolog 제약 프로그래밍의 레이블 지정
:- use_module(library(clpfd)).
grocery(Vars):-
Vars=[A,B,C,D],
X #= 100 * A,
Y #= 100 * B,
Z #= 100 * C,
W #= 100 * D,
X+Y+Z+W #= 711,
X*Y*Z*W #= 71100000000.
, 나는 마지막에 키워드 label(Vars)
퍼팅 시도했다. 그러나 이것은 grocery([V])
나에게 false
을 줄 것이다 동안 grocery(V)
내 실행이
ERROR: Arguments are not sufficiently instantiated.
을 생산하게됩니다. 누구나 라벨을 쓰는 방법을 가르쳐 줄 수 있습니까? 감사합니다
편집 : 당신으로
인스턴스화 오류
: 나는 당신은 내가 따로을 논의하고 싶은 두 가지 문제에 직면하고있다
실제로 입력 한 것을 보여주십시오. 오류가 아닌 오류를 시도했을 때 해결 방법이 없습니다. – lurker
그것이 실제로 입력 한 것입니다. 오류가있는 것은 레이블 (Vars)을 넣고 식료품 점 (V)을 통해 실행하는 경우입니다. – chrishendra93
* 어떻게'label (Vars)'를 입력할까요? '식료품 점 (Vars), 레이블 (Vars) .' (첫 번째 호출 후 쉼표에 유의하십시오)을 입력해야합니다. 그게 내가 당신의 코드를 가지고 달렸고 에러를 내지 않았지만 어떤 해결책도 얻지 못했습니다. 마침표가있는 식료품 점 (Vars) .'과'label (Vars). '을 입력하면'label (Vars)'는 이전 쿼리에서'Vars'에 대해 아무것도 모릅니다. 그들은 별개입니다. – lurker