私はカエルのパズルを解決しようとするためにプロローグを使用しています。 Iは、RとCは、私の知る限りとして行を表し、各ボックスの開始点、Lは長さを表し、Sは、行の数の合計であり、プロローグでパズルを解く - 制約付きの解を生成する?
% across(R, C, L, S)
across(2,4,2,4).
across(2,10,2,4).
across(3,4,4,12).
across(3,10,2,6).
across(4,3,2,6).
このようなルールのリストを有します制約を使用してパズルを解くために、それぞれの要素Lに対して、1から9までの別個の数を見つけなければならないでしょう。加算するとSと等しくなります。私はこの問題を解決するために本当に苦労しています。これはこれです:
しかし、これはすべてfalseです。
ご協力いただければ幸いです。
'Solution = length(List、L)'と 'Solution = 1..9'はどういう意味ですか? – lurker
'Solution = length(List、L)'と 'Solution = 1..9'の2つの目標の組み合わせを考えてみてください。どちらも**あなたのプログラムで発生します。明らかに、この結合だけでも、「1.9」と「長さ(List、L)」が統一されていないため、すでに**失敗**となります。 – mat
@ lurker、申し訳ありませんが、ソリューションins 1..9、つまり、生成された解が1から9の間でなければならないことを意味していました。 Solution = length(List、L)長さLの空のリストを作成すると思ったが、とにかく私の目標を達成するためにやりたいことではないようです。 – AgarAgar