Advertisement

蓝桥杯入门训练题 Fibonacci数列 C、C++

阅读量:

蓝桥杯试题 入门训练 Fibonacci数列 C、C++

问题描述
Fibonacci数列的递推关系式可以表示为:Fn=Fn-1+Fn-2,且初始条件为F1=F2=1。
当n的数值较大时,Fn的值也会变得非常庞大,因此我们需要确定的是,将Fn除以10007后所得到的余数结果。

输入格式
输入数据由一个整数n组成。(1 <= n <= 1,000,000。)
输出格式
在输出中,应显示一行内容,其中包含一个整数,用于表示Fn除以10007后的余数值。

样例输入
10
样例输出
55
1 <= n <= 1,000,000。

方法1

首先计算出第Fn项的数值,随后再进行取余运算。
(在编译器中对多个数据进行了测试,结果均显示无误,然而系统评估结果显示为“错误”,所得分数仅为40分。这可能是因为系统所采用的测试数据规模较大,已超出long long类型所能承载的数值范围。)

复制代码
    #include <iostream>
    #include <stdlib.h>
    #define M 10007
    int main(int argc, char *argv[])
    {
    	long long a1,a2,n,fn,i;
    	a1=a2=1;
    	scanf("

全部评论 (0)

还没有任何评论哟~