私はthisから取られたプロローグの練習をしています。プロローグに入力と出力を設定できません
ここでやりたいことは、プログラムの入出力方法を変更することです。
Iコンソールでこれを入力してプログラムを実行する必要がありますだけたとえば
goldbach(100, L).
、及びIは、押す必要があり、以前のものが画面上に印刷されている場合、次の結果を表示します[]。
L = [3, 97];
L = [11, 89];
L = ....
しかし、私がしたいことは以下のようなものです:最初に、あなたの入力を読んで、その後、自動的にすべての可能な結果をプリントアウト:プログラムは、「番号入力」を出力しますです
Input a number:100.
L = [3, 97].
L = [11, 89].
.....
。
私は(読み取りについての説明を参照)と書くが、私はこれらを追加したとき、私は失敗を取得している:
read_gold :-
write('Input a number:'),
read(X),
write(goldbach(X, L)).
私は私が欲しいの入力および出力を達成するためのプログラムを作るために自分のコードを修正するにはどうすればよいです?回答ありがとうございます。
トップレベルを修正または再実装する必要があります。間違いなく、初心者にとっては複雑すぎる。 – false
'goldbach(X、L)'を問い合わせる結果を得るために 'write(goldbach(X、L))'を実行することはできません。述語は関数が値を返すときに解を返さない。 – lurker