Fibonacci numbers
Time Limit:1000MS Memory Limit:65536K
Total Submit:42 Accepted:13
Description
斐波那契数列应该是世界上最美的数列了,但是要是不算出它的前10000000项你就体会不到它的美丽,我们现在就要算出第N个Fibonacci数是多少
Input
输入包括多组数据,每行一个整数N(1 =< N <= 10^7),输入以0结束
Output
对应每组输出,请输出第N个Fibonacci数列的值,因为它可能非常大,输出它mod 10000的值
Sample Input
4
63
0
Sample Output
3
9842
Source
LY
[Submit] [Go Back] [Status] [Discuss]
#include<iostream>
using namespace std;
int a[10000001]={0};
int f(int n)
{
a[0]=1,a[1]=1;
for(int i=2;i<n;i++)
a[i]=(a[i-1]%10000+a[i-2]%10000)%10000;
return a[n-1]%10000;
}
int main()
{
int n;
while(cin>>n)
{
if(n==0)break;
cout<<f(n)<<endl;
}
return 0;
}