題目:寫乙個函式,輸入n, 求斐波那契數列的第n項。
分析:該題有兩種實現方式遞迴或迴圈。當n比較大的時候f(n)結果也會比較大,故定義的時候可以採用long(int 也行)。遞迴會有大量的重複計算,而迴圈可以把f(n-1)和f(n-2)的值存起來,避免過多的重複計算。
上**,先遞迴再迴圈。
#include#include#include #includelong fibonacci(unsigned int n)
int main()
輸出結果為
結果顯示
所以給各位初學者乙個tips,雖然遞迴的**真的很簡潔,但是其效率比迴圈低很多,在很多時候並不推薦用遞迴。
斐波拉契數列
斐波拉契數列 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 ...
斐波拉契數列
斐波拉契數列 這個數列從第三項開始,每一項都等於前兩項之和。已知斐波拉契數列的前兩項都是1,我們定義求斐波拉契數列的第n項 n 50 的函式為fbnq,請補充完成對fbnq函式的定義。輸入格式 共一行,為乙個正整數。輸出格式 共一行,為乙個正整數。輸入樣例 7輸出樣例 13 斐波拉契數列 def f...