我正在尝试自己实现斐波那契数列。这就是我所拥有的:
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)
我认为这个调用应该是真的:
fibo2(1, 2, 2, 3, 2) ? creep
但它返回错误...一些帮助将不胜感激