Pagini recente » Cod sursa (job #1282457) | Cod sursa (job #797072) | Cod sursa (job #2969883) | Cod sursa (job #514929) | Cod sursa (job #2238456)
#include <cstdio>
using namespace std;
char a[210], b[210], c[210], aux;
int n, aa, bb, cc, rest;
int main()
{
FILE *in, *out;
in = freopen("nunta.in", "r", stdin);
out = freopen("nunta.out", "w", stdout);
scanf("%d", &n);
fclose(in);
aa = bb = 1;
a[0] = '1';
b[0] = '2';
if (n == 1) {
printf("1");
fclose(out);
return 0;
}
if (n == 2) {
printf("2");
fclose(out);
return 0;
}
for (int i = 3; i <= n; ++i) {
rest = 0;
if (bb > aa) {
for (int j = aa; j < bb; ) a[j++] = '0';
aa = bb;
}
int j;
for (j = 0; j < aa; ++j) {
aux = (a[j] - '0' + b[j] - '0' + rest) % 10 + '0';
rest = (a[j] - '0' + b[j] - '0' + rest) / 10;
a[j] = aux;
}
if (rest) {
a[j] = rest + '0';
++aa;
}
for (int j = 0; j < bb; ++j) c[j] = b[j];
cc = bb;
for (int j = 0; j < aa; ++j) b[j] = a[j];
bb = aa;
for (int j = 0; j < cc; ++j) a[j] = c[j];
aa = cc;
}
for (int i = bb - 1; i >= 0; --i) printf("%c", b[i]);
fclose(out);
return 0;
}