我想很難理解下面的菲波納契碼:如何做斐波納契遞歸作品在C#
private static int mtdFibonacci(int number)
{
if (number == 0) return 0;
if (number == 1) return 1;
return fncRecursive(number - 1) + fncRecursive(number - 2);
}
基本上,我有一個很難創建它作爲是如何做到的7輸入功能,等於到13.雖然答案是正確的,因爲斐波那契序列的第7個元素是13:
1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th
1 1 2 3 5 8 13 21 34 55
現在我試圖複製代碼我自己的論文討論瞭如何斐波納契遞歸工作以及如何C#中解決這個問題:
if n is 7:
return F(7) = F(7-1) + F(7-2)
return F(7) = F(6) + F(5)
return F(7) = [F(5) + F(4)] + [F(4) + F(3)]
return F(7) = {[F(4) + F(3)] + [F(3) + F(2)]} + {[F(3) + F(2)] + [F(2) + F(1)]}
return 15?
我試圖在線檢查,但沒有解釋如何正確的遞歸函數爲斐波那契序列工作。代碼是正確的,輸出是正確的,但我不能在上面的紙張序列上覆制它。就像7的輸入對我來說是15。
從'{[F(4)+ F(3)] + [F(3)+ F(2)]} + {[F(3)+ F(2)] + [F跳究竟如何(2)+ F(1)]}'到'15'? – PetSerAl
{[F(4)+ F(3)] + [F(3)+ F(2)]} + {[F(3)+ F(2)] + [F(2)+ F(1) ]},通過自己的表,3 + 2 + 2 + 1 + 2 + 1 + 1 + 1 = 13你或許壓根兒您的紙張一些錯誤。 – Aziuth
(順便說一句,你爲什麼會做一個真正的遞歸算法來解決斐波那契呢?) – Aziuth