Pagini recente » Cod sursa (job #1198323) | Cod sursa (job #548132) | Cod sursa (job #1980055) | Cod sursa (job #1642520) | Cod sursa (job #2425070)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
const int MAXN = 215, BAZA = 10;
int N;
unsigned char F1[MAXN] = {1, 1},
F2[MAXN] = {1, 2},
*M1 = F1, *M2 = F2, *AX;
void adunare(unsigned char A[],unsigned char B[])
{
int T = 0;
A[0] = A[0]>B[0]?A[0]:B[0];
for(int i = 1; i <= A[0]; i++)
{
T += A[i]+B[i];
A[i] = T % 10;
T /= 10;
}
if(T > 0)
A[++A[0]] = 1;
}
int main()
{ f>>N;
if(N<=2)
M2[1]=N;
else
for(int i=3;i<=N;i++)
{
adunare(M1,M2);
swap(M1,M2);
}
for(int i=M2[0];i>=1;i--)
g<<int(M2[i]);
return 0;
}