我想在遞歸尾模式下計算Prolog中的斐波納契數列。在Prolog中計算斐波那契數列,尾遞歸
fibonacci(0,0).
fibonacci(1,1).
fibonacci(N,Result) :-
fibonacci(N,1,0).
fibonacci(N,Result,Count) :-
Count < N,
!,
Count1 is Count + 1,
Result1 is Result + Count,
fibonacci(N,Result1,Count1).
fibonacci(N,Count,Count).
但結果不正確,是什麼問題?
那是尾遞歸嗎? – fpg1503
用尾遞歸版編輯答案,再次感謝! – coder
非常棒的工作! :) – fpg1503