国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Fibonacci數列變形題

2019-11-08 02:06:56
字體:
來源:轉載
供稿:網友

該題是藍橋練習系統的題,巧用取模,我整理了下問題描述

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 <iostream>using namespace std;int fib(int n){if(n==1||n==2){return 1;}else{return (fib(n-1)+fib(n-2));}} int main(){int n,result;cin>>n;result=fib(n)%10007;cout<<result;return 0;} 

評測結果運行超時
得分30
CPU使用運行超時
內存使用61.94MB

改進:

#include <iostream>

using namespace std;int main(){int n;cin>>n;int fib[n];fib[0]=0;fib[1]=fib[2]=1;for(int i=3;i<=n;i++){fib[i]=(fib[i-1]+fib[i-2])%10007;}cout<<fib[n];return 0;

}

評測結果正確
得分100
CPU使用15ms
內存使用4.730MB

錦囊1使用數組來保存F序列,只保存除10007的余數。錦囊2先令F[1]=1, F[2]=1,然后用F[i]=(F[i-1]+F[i-2])%10007來計算F[i]。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东丽区| 黄陵县| 张家港市| 乌恰县| 桐梓县| 水富县| 北票市| 漠河县| 赤水市| 大庆市| 广宁县| 吴忠市| 滦平县| 饶阳县| 怀柔区| 板桥市| 龙口市| 原平市| 太仆寺旗| 光山县| 高雄市| 福清市| 灵台县| 建始县| 图片| 炉霍县| 东乌| 伊金霍洛旗| 彰武县| 临泉县| 安塞县| 盐亭县| 老河口市| 海口市| 桑日县| 怀化市| 和静县| 正定县| 莱西市| 乐山市| 东莞市|