您的位置:首页 > 其它

蓝桥杯 入门训练 Fibonacci数列

2018-02-02 18:32 302 查看
问题描述

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 main(){

    unsigned long s=0,f1=1,f2=1,f3=1,n=0;

    cin >> n;

     

    if(n>2){

        for(s=3;s<=n;s++){

            f3=(f2+f1)%10007;

            f1=f2;

            f2=f3;

         }

    }

    cout << f3;

    return 0;

}

"Auto F5 reload window" 设置 
默认的超时时间*
此网页超时时间*
添加超时随机值,介于0和*
唤醒菜单快捷键
忽略网址这些符号之后的一切(用空格分隔)  
包括保存URL中的分隔符
单击菜单外时隐藏菜单
当本页有鼠标和键盘活动时超时刷新
重新装入默认的超时时间,它没有超时设置所有页面
*超时时间格式表达,例如 时时:分分:秒, 时:分:秒, 分:秒, 秒 等。就像 1:20:30 或者 500 或者3:100
"Auto F5 reload window" 设置 
默认的超时时间*
此网页超时时间*
添加超时随机值,介于0和*
唤醒菜单快捷键
忽略网址这些符号之后的一切(用空格分隔)  
包括保存URL中的分隔符
单击菜单外时隐藏菜单
当本页有鼠标和键盘活动时超时刷新
重新装入默认的超时时间,它没有超时设置所有页面
*超时时间格式表达,例如 时时:分分:秒, 时:分:秒, 分:秒, 秒 等。就像 1:20:30 或者 500 或者3:100
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: