Cod sursa(job #979314)
| Utilizator | Data | 1 august 2013 11:23:49 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<cstdio>
int p,n,i,j,pr,ul,mid;
FILE *f,*g;
int zfact(int n){
int z=0,p=5;
while(p<=n){
z+=n/p;
p*=5;
}
return z;
}
int main(){
f=fopen("fact.in","r");
g=fopen("fact.out","w");
fscanf(f,"%d",&p);
pr=1;
ul=p*5;
while(pr<=ul){
mid=(pr+ul)/2;
if(zfact(mid)>=p)
ul=mid-1;
else
pr=mid+1;
}
fprintf(g,"%d\n",pr);
fclose(f);
fclose(g);
return 0;
}
