Description
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
Input
输入包含一个整数n。
Output
输出一行,包含一个整数,表示Fn除以10007的余数。
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
Sample Input
10
Sample Output
55
ps:重要思想余数两两相加得出答案!!!
#include<iostream>
using namespace std;
typedef long long ll;
long long int a[100000];
int main(){
int n;
cin>>n;
a[0]=1;
a[1]=1;
for(int i=2;i<n;i++){
a[i]=(a[i-1]+a[i-2])%10007;
}
cout<<a[n-1];
// for(int i=0;i<1000;i++){
// cout<<"a"<<i<<":"<<a[i]<<" "<<a[i]%10007<<endl;
// }
//cout<<a[9]%10007;
return 0;
}
来源:https://blog.csdn.net/qq_37959151/article/details/102755658