Pagini recente » Cod sursa (job #2570049) | Cod sursa (job #1887652) | Cod sursa (job #2761443) | Cod sursa (job #2504893) | Cod sursa (job #645769)
Cod sursa(job #645769)
#include <cstdio>
#include <cstring>
using namespace std;
int d1[250], d2[250], d3[250];
int n;
int max(int x, int y)
{
if(x > y) return x;
return y;
}
void adunare(int x[300], int y[300], int z[300])
{
int i;
for(i = 1; i <= max(x[0], y[0]); ++i)
z[++z[0]] = x[i] + y[i];
for(i = 1; i <= z[0]; ++i) {
if(z[i] >= 10) {
z[i] %= 10;
++z[i+1];
}
}
if(z[z[0] + 1] != 0)
++z[0];
}
int main()
{
int i;
freopen ("nunta.in", "r", stdin);
freopen ("nunta.out", "w", stdout);
scanf("%d", &n);
d1[0] = 1;
d2[0] = 1;
d1[1] = 1;
d2[1] = 2;
for(i = 3; i <= n; ++i) {
adunare(d1, d2, d3);
memcpy(d1, d2, sizeof(d2));
memcpy(d2, d3, sizeof(d3));
}
for(i = d3[0]; i >= 1; --i)
printf("%d", d3[i]);
return 0;
}