Java經典面試題目解析 斐波那契數列

2021-08-16 08:47:08 字數 362 閱讀 7143

題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少

//這是乙個斐波拉契數列問題

解:f(1)=1;

f(2)=1;

f(3)開始生兔子,而且此時生兔子的數目一定是在兩個月前存在的兔子數,上月前出生的兔子此時還不會生兔子,因此我們只需要知道上個月有多少對兔子+前個月有多少對兔子會生兔子=這個月兔子的數目;

因此f(n)=f(n-1)+f(n-2);

用程式如何寫解決方案呢?

public static int calfibonaci(int month)

return sum;

}

面試題9 斐波那契數列

方法一 很容易想到的解法是直接使用遞迴。c include stdafx.h include using namespace std long long fibonacci unsigned int n if n 1 return fibonacci n 1 fibonacci n 2 int tm...

面試題9 斐波那契數列

題目一 寫乙個函式,輸入n,求斐波那契數列的第n項,斐波那契數列的定義如下 0 n 0 f n 1 n 1 f n 1 f n 2 n 1 遞迴 long long fibonacci unsigned int n if n 0 n 1 return n return fibonacci n 1 f...

面試題9 斐波那契數列

面試題9 題目 寫乙個函式,輸入n,求斐波那契數列的第n項。很多教科書中的解法 long long fibonacci solution1 unsigned int n 這是從第n項向前計算的方法,很多計算量實際上是重複的。long long fibonacci solution2 unsigned...