1
プロローグでの戻り値は、それは私が私のコードに問題があるかわからない、間違った答えを与えるいくつかのケースを入れて設定し私はプロローグで2つの<strong>ペアノの数</strong>のMOD機能でシンプルなケースを記述しようとしています
シンプルなケースCは、DリターンC
mod(C,D,F):- smaller(C,D) -> mod(C,D,C).
よりも小さい私は出力
はあなたに感謝していない場合 です。単にこれにより
よりも小さい場合つまり、Cを返します。 'small(C、D)'が成功した場合)、 'C 'が' mod''''''( 'mod(C、D、C)'を呼び出すと再帰的にチェックされ、無限回帰になります。あなたの結果は 'F'でなければなりませんが、あなたの述語節では' F'を参照しません。 'F'のためのsingleton変数の警告を見たと思います。 (C、D) 'が成功するか(ヒント:' F '何かであることを確認してください。) – lurker
はいこの状態が正しいかどうかを確認したいcより小さいdを返すc –
ヒントを慎重に読んでください。 – lurker