Cod sursa(job #1484972)
| Utilizator | Data | 12 septembrie 2015 11:07:49 | |
|---|---|---|---|
| Problema | Nunta | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include<cstdio>
FILE *f=fopen("nunta.in","r"),*g=fopen("nunta.out","w");
char a[210],b[210];
short n,t,i,c,d;
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,"%hd",b[i]);
}
