Pagini recente » Cod sursa (job #1306471) | Cod sursa (job #335181) | Cod sursa (job #2868444) | Cod sursa (job #2468129) | Cod sursa (job #2425068)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
const int MAXN = 215;
unsigned char a[MAXN] = {1, 1}, b[MAXN] = {1, 2}, *m1 = a, *m2 = b;
void adunare(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 % 10;
t /= 10;
}
if(t > 0)
a[++a[0]] = 1;
}
int main()
{
int n, i;
f >> n;
if(n <= 2)
m2[1] = n;
else
{
for(i = 3; i <= n; i++)
{
adunare(m1, m2);
swap(m1, m2);
}
for(i = m2[0]; i >= 1; i--)
g << int(m2[i]);
}
return 0;
}