Pagini recente » Cod sursa (job #1640268) | Cod sursa (job #2480056) | Cod sursa (job #2900016) | Istoria paginii utilizator/lolopolo | Cod sursa (job #667798)
Cod sursa(job #667798)
#include <cstdio>
#include <cstring>
using namespace std;
short a[3][200];
int n;
void suma(short a[], short 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;
}
int main()
{
freopen("nunta.in", "r", stdin);
freopen("nunta.out", "w", stdout);
scanf("%d", &n);
if (n == 1)
{
printf("1\n");
return 0;
}
a[0][0] = 1, a[0][1] = 1;
a[1][0] = 1, a[1][1] = 1;
a[2][0] = 1, a[2][1] = 2;
for (int i = 2; i < n; ++i)
{
memcpy(a[0], a[1], sizeof(a[1]));
memcpy(a[1], a[2], sizeof(a[2]));
for (int i = 1; i <= a[2][0]; ++i) a[2][i] = 0;
a[2][0] = 0;
suma(a[2], a[0]);
suma(a[2], a[1]);
}
for (int i = a[2][0]; i >= 1; --i)
printf("%d", a[2][i]);
return 0;
}