フィボナッチ数列を独自に実装しようとしています。これは私が持っているものです:
fibo2(N, F) :-
fibo2(0, 1, 0, N, F).
fibo2(N-F, F, N-1, N, F).
fibo2(P, S, C, N, F) :-
C < N,
T is S,
S1 is P + S,
C1 is C + 1,
fibo2(T, S1, C1, N, F).
他の実装があることは知っていますが、なぜこれが機能しないのかわかりません。でトレースを行うと、fibo2(3, 2)
この呼び出しは true をスローするはずだと思います:
fibo2(1, 2, 2, 3, 2) ? creep
しかし、それはfalseを返します...いくつかの助けをいただければ幸いです