Pagini recente » Cod sursa (job #2024802) | Cod sursa (job #1532566) | Cod sursa (job #2816898) | Cod sursa (job #2400469) | Cod sursa (job #645764)
Cod sursa(job #645764)
#include <cstdio>
using namespace std;
int d[1000][300];
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);
d[1][0] = 1;
d[2][0] = 1;
d[1][1] = 1;
d[2][1] = 2;
for(i = 3; i <= n; ++i)
adunare(d[i-1], d[i-2], d[i]);
for(i = d[n][0]; i >= 1; --i)
printf("%d", d[n][i]);
return 0;
}