Mai intai trebuie sa te autentifici.
Cod sursa(job #191520)
Utilizator | Data | 27 mai 2008 01:56:18 | |
---|---|---|---|
Problema | Nunta | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <cstdio>
const int MAXL = 256;
const int BASE = 100000000;
int N;
int A[2][MAXL];
void Scrie(int A[]) {
printf("%d", A[A[0]]);
for (int i = A[0]-1; i > 0; --i)
printf("%7d", A[i]);
printf("\n");
}
void Aduna(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;
}
int main() {
freopen("nunta.in", "r", stdin);
freopen("nunta.out", "w", stdout);
scanf("%d", &N);
A[0][0] = A[0][1] = 1;
A[1][0] = A[1][1] = 1;
for (int i = 2, p = 0; i <= N; ++i, p^= 1)
Aduna(A[p], A[p^1]);
Scrie(A[N&1]);
}