Pagini recente » Cod sursa (job #1686022) | Cod sursa (job #764600) | Cod sursa (job #944604) | Cod sursa (job #1390879) | Cod sursa (job #1715877)
#include <cstdio>
#include <cstring>
typedef int hugeNR[225];
FILE*f = fopen("nunta.in" , "r");
FILE*g = fopen("nunta.out" , "w");
hugeNR v1, v2, v3;
short int n;
void adun(hugeNR A , hugeNR B) {
short 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 A , hugeNR B) {
for (short int i = 0; i <= B[0]; ++i) {
A[i] = B[i];
}
}
void afis(hugeNR A) {
for (short int i = A[0]; i > 0; --i) {
fprintf(g , "%d", (int)A[i]);
}
}
int main() {
fscanf(f , "%hd" , &n);
v1[1] = v1[0] = 1;
v2[1] = v2[0] = 1;
v3[1] = v3[0] = 1;
for (short int i = 1; i <= n; ++i) {
copie(v3, v2);
adun(v2, v1);
copie(v1, v3);
}
afis(v3);
}