Pagini recente » Cod sursa (job #1727694) | Cod sursa (job #1532198) | Cod sursa (job #1396419) | Cod sursa (job #1865141) | Cod sursa (job #150940)
Cod sursa(job #150940)
// more puncte moca :D
#include <stdio.h>
#include <string.h>
#define MAXC 215
int v[3][MAXC];
void add(int A[], int B[])
{
int i, t = 0;
for (i=1; i<=A[0] || i<=B[0] || t; i++, t/=10)
A[i] = (t += A[i] + B[i]) % 10;
A[0] = i - 1;
}
void cpy(int A[], int B[])
{
int i;
for (i=MAXC-1; i>=0; i--)
A[i]=B[i];
}
int main()
{
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
int i,n;
scanf("%d",&n);
if (n<3)
{
printf("%d\n",n);
fclose(stdin);
fclose(stdout);
return 0;
}
v[1][0]=1; v[1][1]=1; v[2][0]=1; v[2][1]=2;
for (i=3; i<=n; i++)
{
memset(v[i%3],0,sizeof(v[i%3]));
add(v[i%3],v[(i+1)%3]);
add(v[i%3],v[(i+2)%3]);
}
for (i=v[n%3][0]; i>0; i--)
printf("%d",v[n%3][i]);
printf("\n");
fclose(stdout);
fclose(stdin);
return 0;
}