Pagini recente » Cod sursa (job #130541) | Cod sursa (job #1597564) | Monitorul de evaluare | Cod sursa (job #1686799) | Cod sursa (job #1850864)
#include <stdio.h>
#define max(a,b)(a>b?a:b)
unsigned char a1[50], a2[50], cc[50];
int n,i, t = 0;
int main() {
FILE *f = fopen("nunta.in", "r");
FILE *g = fopen("nunta.out", "w");
fscanf(f,"%d", &n);
if (n < 4) { fprintf(g,"%d", n); return 0;}
a1[0] = a1[1] = 2;
a2[0] = 1, a2[1] = 3;
while (n-->3) {
for (i = 1, t = 0; i <= max(a1[0], a2[0]) || t; i++) {
t += a1[i]+a2[i];
cc[i] = t%10;
//fprintf(g,"%d", (int) cc[i]);
t /= 10;
}
t = cc[0] = i-1;
for (i = 0; i <= (int)t; i++) {
a1[i] = a2[i], a2[i] = cc[i], cc[i] = 0;
}
//fprintf(g,"\n");
}
//fprintf(g,"%d", (int) a2[0]);
for (i = a2[0]; i >= 1; i--)
fprintf(g,"%d", (int) a2[i]);
return 0;
}