Fibonacci數列 藍橋杯訓練集

2021-10-01 15:10:42 字數 1078 閱讀 5526

#include

using

namespace std;

intmain()

cout<}return0;

}

前些天接觸到一道與fibonacci數列相似的題,放在這裡做一下歸類:

題目:給定數列 1, 1, 1, 3, 5, 9, 17, …,從第 4 項開始,每項都是前 3 項的和。求第 20190324 項的最後 4 位數字。

#include

using

namespace std;

intmain()

cout<}return0;

}

分析:在對於fibonacci數列這類題型時應拒絕用陣列來解決,因為當數大到一定程度時陣列的容量會超出記憶體。

補充習題:

#include

using

namespace std;

intfib

(int n)

intmain()

#include

using

namespace std;

intmain()

cout<}return0;

}

#include

using

namespace std;

intmain()

}return0;

}

#include

using

namespace std;

intfib

(int n)

intmain()

return0;

}

總結:fibonacci數列問題一般情況我們有兩種處理方式:遞迴及非遞迴。

遞迴方法設計簡單,**短,但缺陷也很明顯,它的效率太慢,演算法複雜度太高。

非遞迴方法設計稍複雜些,但效率較高,時間複雜度較短。

另外最好不要用陣列來解決數列問題,當資料太大時,記憶體不一定夠用。

藍橋杯 Fibonacci數列

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

藍橋杯 Fibonacci數列

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

藍橋杯 入門 Fibonacci數列

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