Pagini recente » Cod sursa (job #2964685) | Cod sursa (job #2488854) | Cod sursa (job #1030133) | Cod sursa (job #2584761) | Cod sursa (job #3184189)
#include <iostream>
#include <fstream>
#define nl '\n'
using namespace std;
ifstream fin("nunta.in");
ofstream fout("nunta.out");
int n, a[300], b[300], c[300];
void add(int *dest, int *t1, int *t2)
{
int i, carry = 0;
for (i = 1; i <= max(t1[0], t2[0]); i++)
{
dest[0] = i;
carry+=t1[i]+t2[i];
dest[i] = carry%10;
carry/=10;
}
while (carry)
{
dest[0] = i;
dest[i++] = carry%10;
carry/=10;
}
return;
}
void cpy(int *dest, int *src)
{
for (int i = 1; i <= src[0]; i++)
dest[i] = src[i];
dest[0] = src[0];
return;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
fin >> n;
a[0] = b[0] = 1;
a[1] = 1;
b[1] = 2;
if (n == 1 || n == 2)
{
fout << n;
return 0;
}
for (int i = 3; i <= n; i++)
{
add(c, a, b);
cpy(a, b);
cpy(b, c);
}
for (int i = c[0]; i >= 1; i--)
fout << c[i];
return 0;
}