題10 斐波那契數列

2021-09-25 22:29:47 字數 1324 閱讀 5991

要求輸入乙個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。

首先用簡單的遞迴實現:

public

class

fibonacci

if(n ==1)

return

fibrecusion

(n -1)

+f(n -2);}}

再用迴圈實現:

public

class

fibonacci

if(n ==1)

int res =0;

for(

int i =

2;i <= n;i++

)return res;

}}

我們可以用2 * 1的小矩形橫著或者豎著去覆蓋更大的矩形。

請問用n個2 * 1的小矩形無重疊地覆蓋乙個2 * n的大矩形,總共有多少種方法?

當我們把2 * 1 的格仔豎著放在第一列的時候,剩餘7列我們有f(7)種方法

當我們把2 * 1 的格仔橫著放在第一列的時候,剩餘6列我們有f(6)種方法

綜上所述,8列的格仔所有方法之和為f(8) = f(7) + f(6)

所以,這依然是乙個斐波那契數列

方式一:利用遞迴

public

class

rectcover;if

(num <=0)

if(num >

0&& num <3)

return

cover

(num -1)

+cover

(num -2);}}

方式二:利用迴圈

public

class

rectcover;if

(num <=0)

if(num >

0&& num <3)

int minusone =2;

int minustwo =1;

int res =0;

for(

int i =

3;i <= num;i++

)return res;

}}

斐波那契數列10

大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 斐波那契數列屬於經典的遞迴問題,對於這題的求解,我們首先要知道斐波那契數列的狀態轉移式,即f n f n 1 f n 2 且在n 1或2時,f n 1。public static int feibol...

10 斐波那契數列

效率對比 遞迴與非遞迴。差距很大。include using namespace std long long fibonacci unsigned int n if n 1 return fibonacci n 1 fibonacci n 2 long long fibonacci2 unsigne...

10 斐波那契數列

寫乙個函式,輸入 n 求斐波那契 fibonacci 數列的第 n 項。斐波那契數列的定義如下 f 0 0,f 1 1 f n f n 1 f n 2 其中 n 1.斐波那契數列由 0 和 1 開始,之後的斐波那契數就是由之前的兩數相加而得出。答案需要取模 1e9 7 1000000007 如計算初...