1221 Fibonacci數列 數學

2022-03-05 11:46:19 字數 813 閱讀 8313

時間限制: 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的餘數。

10

22

55

7704

在本題中,答案是要求fn除以10007的餘數,因此我們只要能算出這個餘數即可,而不需要先計算出fn的準確值,再將計算的結果除以10007取餘數,直接計算餘數往往比先算出原數再取餘簡單。

藍橋杯本來不想用陣列來儲存數列,只用乙個遞迴的思想來解決問題,可是提交上去一直wa

void fib(int

x)}

view code

後來看了看別人的**,發現還是用了陣列來儲存資料,同時還用到了同餘定理

#includeint f[1000000+10

];int

main()

printf(

"%d\n

",f[n]);

}return0;

}

view code

同餘定理

性質 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...