Pagini recente » Cod sursa (job #1603228) | Cod sursa (job #2772786) | Cod sursa (job #2506907) | Cod sursa (job #1088775) | Cod sursa (job #1581603)
#include <stdio.h>
#include <string.h>
typedef int hugeNR[225];
int N;
hugeNR X1, X2, X3;
void aduna(hugeNR A, hugeNR B)
{
int i, t = 0;
for (i = 1; i <= A[0] || i <= B[0] || t; i++, t /= 10)
{
if (i > A[0]) A[i] = 0;
if (i > B[0]) B[i] = 0;
A[i] = (t += A[i]+B[i]) % 10;
}
A[0] = i-1;
}
void copie(hugeNR dest, hugeNR sursa)
{
int i;
for (i = 0; i <= sursa[0]; i++)
dest[i] = sursa[i];
}
int main(void)
{
int i;
freopen("nunta.in", "r", stdin);
freopen("nunta.out", "w", stdout);
scanf("%d", &N);
if (N == 1)
{
printf("1\n");
return 0;
}
X1[0] = X1[1] = 1;
X2[0] = X2[1] = 1;
for (i = 1; i < N; i++)
{
copie(X3, X2);
aduna(X2, X1);
copie(X1, X3);
}
for (i = X2[0]; i >= 1; i--)
printf("%d", X2[i]);
return 0;
}