Pagini recente » Cod sursa (job #1755966) | Cod sursa (job #870718) | Cod sursa (job #197898) | Cod sursa (job #29869) | Cod sursa (job #1195095)
#include <stdio.h>
int A[250],B[250],C[250],n;
void cpy(int A[], int B[])
{
A[0]=B[0];
for(int i=1;i<=A[0];i++)
A[i]=B[i];
}
void add(int A[],int B[])
{ int i,T=0;
if (B[0]>A[0])
{ for (i=A[0]+1;i<=B[0];) A[i++]=0;
A[0]=B[0];
}
else for (i=B[0]+1;i<=A[0];) B[i++]=0;
for (i=1;i<=A[0];i++)
{ A[i]+=B[i]+T;
T=A[i]/10;
A[i]%=10;
}
if (T) A[++A[0]]=T;
}
int main()
{
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
scanf("%d",&n);
A[0]=A[1]=B[0]=1;
B[1]=2;
if(n<3)printf("%d",n);
else for(int i=1;i<=n-2;i++)
{
cpy(C,B);
add(B,A);
cpy(A,C);
}
for(int i=B[0];i;i--)
printf("%d",B[i]);
return 0;
}