Pagini recente » Cod sursa (job #953924) | Cod sursa (job #2639710) | Cod sursa (job #2739153) | Cod sursa (job #1302253) | Cod sursa (job #196919)
Cod sursa(job #196919)
#include <stdio.h>
#include <string.h>
#define BASE 100000000
#define FORMAT "%08d"
int N;
int ant[1000];
int cur[1000];
int aux[1000];
void add(int a[], int b[])
{
int i, t = 0;
for (i = 1; i <= a[0] || i <= b[0] || t; i++, t /= BASE)
a[i] = (t += a[i] + b[i]) % BASE;
a[0] = i - 1;
}
void print_nr(int a[])
{
int i;
printf("%d", a[a[0]]);
for (i = a[0] - 1; i >= 1; i--) printf(FORMAT, a[i]);
printf("\n");
}
int main()
{
freopen("nunta.in", "r", stdin);
freopen("nunta.out", "w", stdout);
scanf("%d", &N);
ant[0] = 1; ant[1] = 1;
cur[0] = 1; cur[1] = 1;
for (int i = 2; i <= N; i++) {
memcpy(aux, ant, sizeof(ant));
memcpy(ant, cur, sizeof(cur));
add(cur, aux);
}
print_nr(cur);
return 0;
}