Pagini recente » Cod sursa (job #712179) | Cod sursa (job #277601) | Cod sursa (job #678131) | Cod sursa (job #1946758) | Cod sursa (job #1787161)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("nunta.in");
ofstream g ("nunta.out");
const int MAXN = 220;
short int N;
unsigned char M1[MAXN], M2[MAXN], aux[MAXN];
void afisare (unsigned char A[])
{
for (int i = A[0]; i >= 1; i--)
g << int (A[i]);
}
void add (unsigned char A[], unsigned char B[])
{
int i, t = 0;
for (i = 1; i <= A[0] || i <= B[0] || t; i++, t /= 10)
A[i] = (t += A[i] + B[i]) % 10;
A[0] = i - 1;
}
void copiere (unsigned char A[], unsigned char B[])
{
A[0] = B[0];
for (int i = 1; i <= A[0]; i++)
A[i] = B[i];
}
int main()
{
f >> N;
M1[0] = M2[0] = 1;
if (N == 0) M2[1] = 0;
else if (N == 1) M2[1] = 1;
else
{
M1[1] = 1, M2[1] = 2;
for (int i = 3; i <= N; i++)
{
copiere (aux, M2);
add (M2, M1);
copiere (M1, aux);
}
}
afisare (M2);
return 0;
}