Pagini recente » Cod sursa (job #230682) | Cod sursa (job #2499970) | Cod sursa (job #277315) | Cod sursa (job #1863619) | Cod sursa (job #318018)
Cod sursa(job #318018)
#include<stdio.h>
#include<string.h>
long n,a[3000],b[3000],c[3000],i;
void add()
{long i,t=0,cc;
memcpy(c,a,sizeof(a));
for(i=1;i<=(c[0]+1)/2;++i){cc=c[i];c[i]=c[c[0]-i+1];c[c[0]-i+1]=cc;}
for(i=1;i<=(b[0]+1)/2;++i){cc=b[i];b[i]=b[b[0]-i+1];b[b[0]-i+1]=cc;}
for(i=1;i<=c[0]||i<=b[0]||t;++i,t/=10)
c[i]=(t+=(c[i]+b[i]))%10;
c[0]=i-1;
for(i=1;i<=(c[0]+1)/2;++i){cc=c[i];c[i]=c[c[0]-i+1];c[c[0]-i+1]=cc;}
for(i=1;i<=(b[0]+1)/2;++i){cc=b[i];b[i]=b[b[0]-i+1];b[b[0]-i+1]=cc;}
}
int main()
{
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
scanf("%ld",&n);
if(n==0){printf("0\n");return 0;}
if(n==1){printf("1\n");return 0;}
if(n==2){printf("2\n");return 0;}
a[1]=1;
a[0]=1;
b[1]=2;
b[0]=1;
for(i=3;i<=n;++i)
{add();
memcpy(a,b,sizeof(b));
memcpy(b,c,sizeof(c));}
for(i=1;i<=c[0];++i)
printf("%ld",c[i]);
printf("\n");
return 0;
}