Pagini recente » Cod sursa (job #205288) | Cod sursa (job #514768) | Cod sursa (job #1105319) | Cod sursa (job #1972972) | Cod sursa (job #1603982)
#include <bits/stdc++.h>
#define nmax 5005
using namespace std;
int a[nmax], b[nmax], c[nmax], na, nb, nc, n;
/// c = a + b
inline void Aduna()
{
int i, t, x;
t = 0;
nc = nb;
for (i = 1; i <= nb; ++i)
{
x = a[i] + b[i] + t;
if (x >= 10) {c[i] = x - 10; t = 1;}
else {c[i] = x; t = 0;}
}
if (t > 0)
c[++nc] = 1;
}
/// a = b
void Copie(int a[], int &na, int b[], int nb)
{
int i;
na = nb;
for (i = 1; i <= na; ++i)
a[i] = b[i];
}
int main()
{
int i;
ofstream fout("nunta.out");
ifstream fin("nunta.in");
fin >> n;
fin.close();
if (n == 1)
{
fout << "1\n";
fout.close();
return 0;
}
if (n == 2)
{
fout << "2\n";
fout.close();
return 0;
}
a[1] = na = 1;
b[1] = 2; nb = 1;
for (i = 3; i <= n; ++i)
{
Aduna();
Copie(a, na, b, nb);
Copie(b, nb, c, nc);
}
/// afisare
for (i = nc; i >= 1; --i)
fout << c[i];
fout << "\n";
fout.close();
return 0;
}