Pagini recente » Cod sursa (job #2794690) | Cod sursa (job #862620) | Cod sursa (job #2232830) | Cod sursa (job #1559374) | Cod sursa (job #3127020)
#include <cstdio>
using namespace std;
const int MAXN = 215,
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[])
///void sum(unsigned char *A, unsigned char *B)
{
///A <-- A+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);
///swap(M1, M2);
AX = M1;
M1 = M2;
M2 = AX;
}
for(int i = M2[0]; i >= 1; i--)
putc(M2[i] + '0', stdout);
return 0;
}