Pagini recente » Cod sursa (job #2175542) | Cod sursa (job #935405)
Cod sursa(job #935405)
#include <cstdio>
#include <cstring>
#include <assert.h>
using namespace std;
char fin[] = "nunta.in";
char fout[] = "nunta.out";
const int maxSize = 500;
int n;
short a[maxSize], b[maxSize], c[maxSize];
inline void add()
{
int i, t;
for(i = 1, t = 0; i <= a[0] || i <= b[0] || t; ++ i, t /= 10)
c[i] = (t += a[i] + b[i]) % 10;
c[0] = i - 1;
}
int main()
{
freopen(fin, "r", stdin);
freopen(fout, "w", stdout);
scanf("%d", &n);
assert(n);
if(n <= 2) printf("%d", n);
else
{
a[0] = b[0] = 1, a[1] = 1, b[1] = 2;
for(int i = 3; i <= n; ++i)
{
add();
memcpy(a, b, b[0] * sizeof(int));
memcpy(b, c, c[0] * sizeof(int));
}
assert(c[0] > 0);
for(int i = c[0]; i; -- i) printf("%d", c[i]);
printf("\n");
}
}