fibonacci數列的遞推公式為:fn=fn-1+fn-2,其中f1=f2=1。
當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。
輸入包含乙個整數n。
輸出一行,包含乙個整數,表示fn除以10007的餘數。
在本題中,答案是要求fn除以10007的餘數,因此我們只要能算出這個餘數即可,而不需要先計算出fn的準確值,再將計算的結果除以10007取餘數,直接計算餘數往往比先算出原數再取餘簡單。
1 1 2 3 5 8 13 21 ·····x y
x%m=f1
y%m=f2
下乙個數理當應是(x+y),若是輸出,其值為(x+y)%m
現在我們使每一次計算的下乙個數的結果都除以m,因為(x+y)%m=(b1m+f1)+(b2m+f2),其中b1=x/m,b2=y/m
這一題計算的所有下乙個數都為除以10007後的數
#include#define m 10007
int main()
printf("%d",f1);
return 0;
}
C語言求Fibonacci數列
方法一 普通法 include include unsigned long fibonacci unsigned n 列印fibonacci intmain void printf athank you for you using.return exit success unsigned long ...
fibonacci數列C 語言多種實現
作者 vision chen yeah.net 斐波納契數列 fibonacci sequence 又稱 分割 數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 在數學上,斐波納契數列以如下被以遞迴的方法定義 f 0 1,f 1 1,f n f n 1 f n 2 n 2,n n inc...
fibonacci數列C 語言多種實現
作者 vision chen yeah.net 斐波納契數列 fibonacci sequence 又稱 分割 數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 在數學上,斐波納契數列以如下被以遞迴的方法定義 f 0 1,f 1 1,f n f n 1 f n 2 n 2,n n cpp...