Pagini recente » Cod sursa (job #46460) | Cod sursa (job #2342862) | Cod sursa (job #881716) | Cod sursa (job #3161044) | Cod sursa (job #2314369)
#include <cstdio>
using namespace std;
const int MAXN = 210,
BAZA = 10;
int N;
unsigned char F1[MAXN] = {1, 1}, F2[MAXN] = {1, 2},
*M1 = F1, *M2 = F2, *AX;
void sum(unsigned char A[], unsigned char B[]) {
int T = 0;
if(A[0] < B[0]) A[0] = B[0];
for(int i = 1; i <= A[0]; i++) {
T += A[i] + B[i];
A[i] = T%BAZA;
T /= BAZA;
}
if(T > 0)
A[++A[0]] = 1;
}
int main()
{
freopen("nunta.in", "r", stdin);
freopen("nunta.out", "w", stdout);
scanf("%i", &N);
if(N <= 2)
M2[1] = N;
else
for(int i = 3; i <= N; i++) {
sum(M1, M2);
AX = M1;
M1 = M2;
M2 = AX;
}
for(int i = M2[0]; i >= 1; i--)
putc(M2[i] + '0', stdout);
return 0;
}