斐波拉契數列

2021-08-19 00:04:42 字數 494 閱讀 6217

斐波拉契數列:

1    1    2    3    5    8    13    21    34......

其中每乙個數字都是前兩個數字的和。

遞迴計算:

long fibonacci(int n)

非遞迴計算:

long fibonacci(int n) 

return result;

}

這個函式的遞迴實現使用了雙重遞迴(double recursion),函式對本身進行了兩次呼叫。

假設呼叫fibonacci(40)。第1級會建立變數n。接著呼叫了兩次次fibonacci(),第2級遞迴又會建立兩個變數n。上述的兩次呼叫中的每一次又進行了兩次呼叫,而在第**呼叫中需要4個變數n,這時總數為7。因為每級呼叫需要的變數數是上一級變數數的2倍,所以變數的個數是指數增長的。指數增長的變數會占用大量的記憶體,這可能會耗盡系統的資源。

斐波拉契數列

編寫彙編程序列印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...

斐波拉契數列問題

問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,包含乙個整數,表示fn除以10007的餘數。說明 在本題中,答案是要求fn除以10...