Cod sursa(job #1963455)
Utilizator | Data | 12 aprilie 2017 15:47:08 | |
---|---|---|---|
Problema | Nunta | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <cstdio>
FILE *f=fopen("nunta.in","r");
FILE *g=fopen("nunta.out","w");
short n,i,t,c,d;
char a[210],b[210];
int main() {
fscanf(f,"%hd",&n);
for(c=d=a[1]=b[1]=1;n>1;n--) {
for(t=0,i=1;i<=c||i<=d||t;i++,t/=10)
b[i]=(t+=a[i]+b[i])%10;
for(d=i-1,t=0,i=1;i<=d;i++) {
a[i]=b[i]-(i<=c?a[i]:0)-t;
a[i]+=(t=a[i]<0)*10;
}
for(c=i-1;c>1&&!a[c];c--);
}
for(i=d;i;i--)
fprintf(g,"%c",b[i]+'0');
return 0;
}