2016-10-27 18 views
1

私はPrologを初めて使用しており、現在のところ単純な制約プログラミング問題に取り組んでいます。だから、私は実数がA、B、C、Dの4つの実数を持っています。 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を与えるだろうが

ERROR: Arguments are not sufficiently instantiated. 

を生成するためにgrocery(V)の私を実行させます。誰でもラベル付けの仕方を教えてもらえますか?おかげ

編集:あなたのよう

インスタンス化エラー

:私はあなたが私は別にを議論したい二つの問題に直面している

+1

実際に入力した内容を表示してください。私が試したとき、エラーではなく、私はただ解決策を得ません。 – lurker

+0

それは私が実際に入ったものでした。エラーのあるものは、ラベル(Vars)を入れて食料品(V)で実行するときです。 – chrishendra93

+1

*どのように 'label(Vars)'の問題を入力しますか? 'groarsery(Vars)、label(Vars).'(最初の呼び出しの後のコンマに注意してください)と入力してください。それが私のコードで実行されたもので、エラーは出ませんでしたが、解決策はありませんでした。ピリオドで 'grocery(Vars).'と続けて' label(Vars).'を入力すると、 'label(Vars)'は前のクエリの 'Vars'について何も知らない。彼らは別々です。 – lurker

答えて

関連する問題