您好,登錄后才能下訂單哦!
AlgorithmGossip: 費式數列
說明
Fibonacci為1200年代的歐洲數學家,在他的著作中曾經提到:「若有一只免子每個月生一只小免子,一個月后小免子也開始生產。起初只有一只免子,一個月后就有兩只免子,二個月后有三只免子,三個月后有五只免子(小免子投入生產)......。
如果不太理解這個例子的話,舉個圖就知道了,注意新生的小免子需一個月成長期才會投入生產,類似的道理也可以用于植物的生長,這就是Fibonacci數列,一般習慣稱之為費氏數列,例如以下: 1、1 、2、3、5、8、13、21、34、55、89......
解法
依說明,我們可以將費氏數列定義為以下:
fn = fn-1 + fn-2 if n > 1
fn = n if n= 0, 1
namespace 費式數列 { class Program { static void Fib(int n) { int [] a=new int [n+1]; a[0] = 0; a[1] = 1; for (int i=2; i < n + 1; i++) { a[i] = a[i - 1] + a[i - 2];//第N個月的兔子數是N-1和N-2個月的兔子數的總和。因為N-1月的新生小兔子的數量是,N-2兔子的數量。 } Console.WriteLine("第{0}個月的兔子數量為{1}",n,a[n]); } static void Main(string[] args) { Console.WriteLine("親,幾個月了!"); int a = int.Parse(Console.ReadLine()); Fib(a); Console.Read(); } } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。