Pagini recente » Cod sursa (job #2563776) | Cod sursa (job #669439) | Cod sursa (job #388247) | Cod sursa (job #2445800) | Cod sursa (job #218857)
Cod sursa(job #218857)
#include <stdio.h>
#define NMAX 500
FILE *f = fopen("nunta.in", "r"), *g = fopen("nunta.out", "w");
int nr1[NMAX], nr2[NMAX];
int n;
int main()
{
fscanf(f, "%d", &n);
fclose(f);
if (n == 1) {fprintf(g, "1");
fclose(g);
return 0;
}
if (n == 2) {fprintf(g, "2");
fclose(g);
return 0;
}
nr1[1] = 1;
nr2[1] = 2;
nr1[0] = nr2[0] = 1;
for (int i = 3; i <= n; i++)
{//aduna nr1 + nr2
if (i % 2) //i impar le adunam si le punem in nr1
{int t = 0, j;
for (j = 1; j <= nr1[0] || j <= nr2[0] || t; j++, t /= 10)
nr1[j] = (t += nr1[j] + nr2[j]) % 10;
nr1[0] = j - 1;
}
else //i par le aduanm si la punem in nr2
{int t = 0, j;
for (j = 1; j <= nr1[0] || j <= nr2[0] || t; j++, t /= 10)
nr2[j] = (t += nr1[j] + nr2[j]) % 10;
nr2[0] = j - 1;
}
}
if (n % 2)
{for (int j = nr1[0]; j >= 1; j--)
fprintf(g, "%d", nr1[j]);
fclose(g);
return 0;
}
for (int j = nr2[0]; j >= 1; j--)
fprintf(g, "%d", nr2[j]);
fclose(g);
return 0;
}