蓝桥杯——入门训练 斐波那契数列
#include<stdio.h>
int main()
{
int n,i,f;
int f1=1,f2=1,f3=1;
int result;
scanf("%d",&n);
if(n>2)
{
for(i=3;i<=n;i++)
{
f3=(f1+f2)%10007;
f1=f2;
f2=f3;
}
}
printf("%d",f3);
return 0;
}
在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
笔记:可以直接计算出结果的,就直接套进去公式就行了,没有必要再去浪费一步计算时间。