Cod sursa(job #235047)
| Utilizator | Data | 22 decembrie 2008 16:57:16 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <stdio.h>
FILE *f,*g;
int main()
{long int p,n,d,j;
int k,i;
f=fopen("fact.in","r");
fscanf(f,"%ld",&p);
fclose(f);
g=fopen("fact.out","w");
n=0;
if(p==0) fprintf(g,"1");
if(p<0) fprintf(g,"-1");
if(p>0) {while(p>=6){k=0;d=1;
while(p>=d*5+1){k++;d=d*5+1;}
p=p-d;
d=5;
for(i=1;i<=k;i++) d=5*d;
n=n+d;
}
for(i=0;i<p;i++) n=n+5;
fprintf(g,"%ld",n);
}
fclose(g);
return 0;
}