fibonacci數列的遞推公式為:fn=fn-1+fn-2,其中f1=f2=1。
當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。
輸入格式
輸入包含乙個整數n。
輸出格式
輸出一行,包含乙個整數,表示fn除以10007的餘數。
說明:在本題中,答案是要求fn除以10007的餘數,因此我們只要能算出這個餘數即可,而不需要先計算出fn的準確值,再將計算的結果除以10007取餘數,直接計算餘數往往比先算出原數再取餘簡單。
樣例輸入
10樣例輸出
55樣例輸入
22樣例輸出
7704
資料規模與約定
1 <= n <= 1,000,000。
#include
using
namespace std;
yushu
(int n)
else
} m=a[n]
%10007
; cout<}int
main()
yushu
(n);
}
由於本題目是乙個簡單的規律問題,在空間複雜度上不能夠有太多的空間,所以要著重考慮空間複雜度和時間複雜度,要進行修改。
#include
using
namespace std;
intmain()
cout<<
(b%10007
)<}return0;
}
修改後是運用了乙個三個數的迴圈的過程,先另a和b的初始值為1,並新定義乙個整形數為t,在每一次的迴圈過程中都將a的值賦給t,b的值賦給a,b+t的值賦給b,實現迴圈,因此只需要浪費三個空間就可以解決此問題,如果運用陣列則需要浪費n個空間,並且時間複雜度也大大增加。 藍橋杯 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...