Pagini recente » Cod sursa (job #2190839) | Cod sursa (job #308388)
Cod sursa(job #308388)
#include <stdio.h>
#include <string.h>
#define dim 1000
int a[dim],b[dim],c[dim];
int n,w,i;
void suma(int A[], int B[], int C[]) {
int i;
for (i=A[0]+1; i<=B[0]; i++)
A[i] = 0;
for (i=B[0]+1; i<=A[0]; i++)
B[i] = 0;
int max = A[0]>B[0]?A[0]:B[0];
int t = 0;
for (i=1; i<=max; i++) {
C[i] = (A[i] + B[i] + t) % 10;
t = (A[i] + B[i] + t) / 10;
}
C[0] = max;
if (t) {
C[0]++;
C[C[0]] = t;
}
}
void atrib(int A[], int B[]) {
memcpy(A,B,sizeof(int)*(B[0]+1));
}
int main() {
FILE *f = fopen("nunta.in","r");
FILE *g = fopen("nunta.out","w");
fscanf(f,"%d",&n);
a[0] = a[1] = 1;
b[1] = 2;
b[0] = 1;
w = 2;
if (n > 2) {
while (w < n) {
w++;
suma(a,b,c);
atrib(a,b);
atrib(b,c);
}
for (i=c[0]; i>=1; i--)
fprintf(g,"%d",c[i]);
}
else
if (n==1)
fprintf(g,"1");
else
fprintf(g,"2");
fclose(f);
fclose(g);
return 0;
}