私のクラスの古い決勝戦から:
ここにいくつかのプロローグコードがあります:
mystery(1, 1).
mystery(N, F) :-
N1 is N-1,
mystery(N1,F1),
F is F1*N.
問 1: P で統一されている値は何ですか?
mystery(3, P).
質問 2: Prolog がミステリーを生成して回答した後にセミコロンが押された場合、インタープリターは最終的に "ERROR: Out of local stack" を報告します。このエラーが発生する理由と、エラーを回避するためにミステリーを変更するにはどうすればよいですか?
質問 1: わかった
P = 6 ?
質問 2: セミコロンを押してすべての回答を取得すると、out of local stack エラーが発生します。このコードが何を達成しようとしているのか、またはそれを修正する方法がわからないので、ローカルスタックから出ません。何か案は?