Prologでフィボナッチ系列を再帰テールモードで計算したい。Prolog、Tail RecursiveでFibonacci Serieを計算する
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