Source code
#include<iostream>
using namespace std;
int fibo[5010][1010];
void fib()
{
long int a,i,j,k;
fibo[0][1000]=0;
fibo[1][1000]=fibo[2][1000]=1;
for(i=3; i<5000; i++)
{
for(j=1000; j>=0; j--)
{
fibo[i][j]=fibo[i][j]+fibo[i-1][j]+fibo[i-2][j];
if(fibo[i][j]>9)
{
fibo[i][j-1]+=(fibo[i][j]/10);
fibo[i][j]=fibo[i][j]%10;
}
}
}
}
int main()
{
int n,s,j,i,l=0;
fib();
while(cin>>n)
{
for(i=0; ; i++)
{
if(fibo[n][i]!=0)break;
}
for(j=i; j<=1000; j++)
{
cout<<fibo[n][j];
}
cout<<endl;
}
return 0;
}
Add your comment