斐波拉契數列 不用遞迴 C

2021-10-04 10:42:25 字數 484 閱讀 4752

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

n<=39

我一開始用遞迴方法,然後執行超時,之後就用下面的解法:

class solution 

return c;

}};

遞迴確實看著炫酷,但是敗給了常規解法,常規解法最好理解,也解決了問題,何樂而不為。

c=a+b;

a=b;

b=c;

這個結構最為清晰,完全反映了斐波拉契數列的規則:

當n=2時,下一項為0+1,然後輸出結果2,數列為0、1、2;這在for迴圈需要進行1次;

n=3時,下一項為1+2,然後輸出結果3,數列為0、1、2、3;這在for迴圈需要進行2次;

n=4時,下一項為2+3,然後輸出結果5,數列為0、1、2、3、5;這在for迴圈需要進行3次;

n是從2開始,因此i要從2開始,才能滿足。

斐波拉契數列,遞迴實現

1,1,2,3,5,8 規律是當前數為前兩個數的和。比如生兔子問題就是這樣 第一天只有乙個小兔子 1 第二天小兔子長成大兔子並且懷孕 1 第三天大兔子生下乙個小兔子 2 第四天小兔子長大前乙個大兔子又生下乙個小兔子 3 第五天兩個成年兔子分別生下了乙個兔子,前一天生下的兔子又上大 5 叫求第100天...

斐波拉契數列

斐波拉契數列 1 1 2 3 5 8 13 21 34.其中每乙個數字都是前兩個數字的和。遞迴計算 long fibonacci int n 非遞迴計算 long fibonacci int n return result 這個函式的遞迴實現使用了雙重遞迴 double recursion 函式對本...

斐波拉契數列

編寫彙編程序列印1 1000的斐波拉契數列 原始碼assume cs code,ss stack,ds data data segment fibo dw 0,1,64 dup 0 str db the fibo list is 0ah,0dh,data ends stack segment db ...