Fibonacci数列

题目链接:http://lx.lanqiao.org/problem.page?gpid=T4

//超时,递归特别容易超时!!! 

#include<iostream>
using namespace std;
int Fibonacci(int n)
{
	if(n==1||n==2)
		return 1;
	else
		return Fibonacci(n-1)%10007+Fibonacci(n-2)%10007;
}
int main()
{
	int n;
	cin>>n;
	cout<<Fibonacci(n)<<endl;
	return 0;
}

//数组没有超时 
#include<iostream>
using namespace std;
int ans[1100000];
int main()
{
	int i,n;
	while(cin>>n)
	{
		ans[1]=1;
		ans[2]=1;
		for(i=3;i<=n;i++)
		{
			ans[i]=(ans[i-1]+ans[i-2])%10007;
		}
		cout<<ans[n]<<endl;
	}
	return 0;
}


你可能感兴趣的:(Fibonacci数列,取模)