Pagini recente » Cod sursa (job #2892931) | Cod sursa (job #1379619) | Cod sursa (job #1919377) | Cod sursa (job #2770804) | Cod sursa (job #214474)
Cod sursa(job #214474)
#include <stdio.h>
#include <math.h>
#include <string.h>
long n, f1[256], f2[256], f[256], i;
void add(long *v1, long *v2) {
long i, t = 0;
for (i = 1; i <= v1[0] || i <= v2[0] || t; ++i, t /= 10) {
v1[i] = (t += v1[i] + v2[i]) % 10;
}
v1[0] = i - 1;
}
void copy(long *v1, long *v2) {
long i = 0;
for (i = 0; i <= v2[0]; ++i) {
v1[i] = v2[i];
}
}
int main() {
freopen("nunta.in", "r", stdin);
freopen("nunta.out", "w", stdout);
scanf("%ld", &n);
f1[0] = 1;f1[1] = 1;
f2[0] = 1;f2[1] = 2;
for (i = 1; i < n - 1; ++i) {
memset(f, 0, sizeof(0));
add(f, f1);
add(f, f2);
copy(f1, f2);
copy(f2, f);
}
for (i = f2[0]; i >= 1; --i) {
printf("%ld", f2[i]);
}
return 0;
}