Pagini recente » Cod sursa (job #999851) | Cod sursa (job #1992385) | Cod sursa (job #3205635) | Cod sursa (job #544253) | Cod sursa (job #1944137)
#include <cstdio>
char f1[210], f2[210];
int getCifra(char *a, int i){
if (i>a[0])
return 0;
else
return a[i];
}
void suma(char *a, char *b, char *c) {
int t = 0,max;
max = a[0];
if (max<b[0])
max=b[0];
for (int i=1;i<=max;i++) {
int aux = getCifra(a,i)+getCifra(b,i)+t;
c[i]=aux%10;
t=aux/10;
}
if (t==1) {
c[0]=max+1;
c[max+1]=1;
} else {
c[0]=max;
}
}
void atrib(char *a,char *b){
for (int i=0;i<=b[0];i++) {
a[i]=b[i];
}
}
int main(){
int n,i;
FILE *fin = fopen("nunta.in","r");
fscanf(fin,"%d",&n);
FILE *fout = fopen("nunta.out","w");
if (n<2) {
fprintf(fout,"%d",1);
} else {
f1[0]=1;f1[1]=1;
f2[0]=1;f2[1]=1;
for (i=1;i<=n-1;i++) {
if (i%2 == 1)
suma(f1, f2, f1);
else
suma(f2, f1, f2);
}
if (n%2 == 1)
for (i=f2[0];i>=1;i--){
fprintf(fout,"%d",f2[i]);
}
else
for (i=f1[0];i>=1;i--){
fprintf(fout,"%d",f1[i]);
}
}
return 0;
}