#include<stdio.h>
#define max 5005
#define length 3000
int fib[max][length];
void fibonacci()
{
fib[0][0]=1;
fib[1][0]=2;
int i,j,rem=0;
for(i=2; i<max; i++)
{
for(j=0; j<length; j++)
{
fib[i][j]=fib[i-1][j]+fib[i-2][j]+rem;
rem=0;
if(fib[i][j]>9)
{
fib[i][j]=fib[i][j]%10;
rem=1;
}
}
}
}
int main()
{
fibonacci();
int n,i,j,k,rem;
while(scanf("%d",&n)==1)
{
for(j=length-1; ; j--)
{
if(fib[n][j]!=0)
{
break;
}
}
if(n==0)
{
printf("1\n");
}
else
{
for(; j>=0; j--)
{
printf("%d",fib[n][j]);
}
printf("\n");
}
}
return 0;
}
#define max 5005
#define length 3000
int fib[max][length];
void fibonacci()
{
fib[0][0]=1;
fib[1][0]=2;
int i,j,rem=0;
for(i=2; i<max; i++)
{
for(j=0; j<length; j++)
{
fib[i][j]=fib[i-1][j]+fib[i-2][j]+rem;
rem=0;
if(fib[i][j]>9)
{
fib[i][j]=fib[i][j]%10;
rem=1;
}
}
}
}
int main()
{
fibonacci();
int n,i,j,k,rem;
while(scanf("%d",&n)==1)
{
for(j=length-1; ; j--)
{
if(fib[n][j]!=0)
{
break;
}
}
if(n==0)
{
printf("1\n");
}
else
{
for(; j>=0; j--)
{
printf("%d",fib[n][j]);
}
printf("\n");
}
}
return 0;
}
0 comments: (+add yours?)
Post a Comment