時間限制: 1 sec 記憶體限制: 128 mb
提交: 116 解決: 36 統計
fibonacci數列的遞推公式為:fn=fn-1+fn-2,其中f1=f2=1。
當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。
輸入包含乙個整數n。
1 <= n <= 1,000,000
輸出一行,包含乙個整數,表示fn除以10007的餘數。
1022
55在本題中,答案是要求fn除以10007的餘數,因此我們只要能算出這個餘數即可,而不需要先計算出fn的準確值,再將計算的結果除以10007取餘數,直接計算餘數往往比先算出原數再取餘簡單。7704
藍橋杯本來不想用陣列來儲存數列,只用乙個遞迴的思想來解決問題,可是提交上去一直wa
void fib(intview codex)}
後來看了看別人的**,發現還是用了陣列來儲存資料,同時還用到了同餘定理
#includeint f[1000000+10view code];int
main()
printf(
"%d\n
",f[n]);
}return0;
}
同餘定理
性質 4:若 a1≡b1(modm),a2≡b2(modm),….,an≡bn(modm),
則 a1+a2+…an≡b1+b2+…bn(modm)。 (性質 7 可以看成是性質 2
的乙個延展。 )
計算Fibonacci數列
上機內容 用動態分配空間的方法計算fibonacci數列的前30項並儲存到動態分配的空間中 上機目的 學習fibonacci數列演算法 我的程式 includeusing namespace std void main int p new int 30 p 1 p 1 1 cout p p 2 fo...
Fibonacci數列 餘數
fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,包含乙個整數,表示fn除以10007的餘數。說明 在本題中,答案是要求fn除以10007的餘...
Fibonacci數列求解
問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,包含乙個整數,表示fn除以10007的餘數。說明 在本題中,答案是要求fn除以10...