Pagini recente » Cod sursa (job #2014368) | Cod sursa (job #1457598) | Cod sursa (job #876887) | Cod sursa (job #240191) | Cod sursa (job #2023790)
#include <cstdio>
using namespace std;
const int BASE = 10;
const int DIG = 209;
struct Huge {
unsigned char v[DIG];
Huge () {
for (int i = 0; i < DIG; ++i)
v[i] = 0;
}
Huge operator + (const Huge &other) const {
Huge aux;
int i, t = 0;
for (i = 1; i <= v[0] || t; ++i, t /= BASE)
aux.v[i] = (t += v[i] + other.v[i]) % BASE;
aux.v[0] = i - 1;
return aux;
}
} a, b, c;
int main()
{
int n, ind;
fscanf(fopen("nunta.in", "r"), "%d", &n);
a.v[0] = a.v[1] = ind = 1;
b = c = a;
for (int i = 1; i < n; ++i) {
c = a + b;
a = b; b = c;
}
FILE *fout = fopen("nunta.out", "w");
for (int i = c.v[0]; i > 0; --i)
fprintf(fout, "%d", c.v[i]);
return 0;
}