題意是說在給定的一種滿足每一項等於前兩項之和的數列中,判斷第 n 項的數字是否為 3 的倍數。
斐波那契數在到第四十多位的時候就會超出 int 儲存範圍,但是題目問的是是否為 3 的倍數,也就是模 3 值為 0 ,考慮到餘數只有0,1,2,而且每項由前兩項求和得到,也就是說餘數一定會出現迴圈的規律,從首項開始,前 8 項模 3 的結果是:1 2 0 2 2 1 0 1,接下來的兩項模 3 的結果仍是 1 2 ,那麼整個序列就呈現出以 8 為週期的特點,只要模 8 的結果為 3 或者 7 就輸出 yes,否則輸出 no,注意序列是從第 0 項開始的,所以 n 每次都要減掉 1.
1 #include 2view codeintmain()
314 n++;
15if(n%8 == 3 || n%8 == 7) puts("
yes"
);16
else puts("no"
);17}18
return0;
19 }
hdu 1021 斐波那契2,找規律
背景 暴力必定超資料結構範圍,因為斐波那契型別數列,成指數形式 增長。故寫了資料發現取餘30不影響結果。學習 1.數論類題可以寫出幾組資料找規律,猜結論。我的 includeint str 1000009 int main while scanf d n eof return 0 也有人根據同餘的性...
斐波那契數
入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,...
斐波那契數
斐波那契數列 fibonacci sequence 簡介 斐波那契數列 fibonacci sequence 又稱 分割 數列 因 數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 ...