Cod sursa(job #520747)
Utilizator | Data | 10 ianuarie 2011 11:29:55 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <stdio.h>
FILE *f=fopen("factorial.in","r");
FILE *g=fopen("factorial.out","w");
int P;
int nr0(int x){
int nr=0,p5=5;
while(x>=p5){
nr+=x/p5;
p5*=5;
}
return nr;
}
int main(void){
int register i,j;
fscanf(f,"%d",&P);
fclose(f);
int register p,u;
p=1;u=5*P;
while(p<=u){
int register m=p+(u-p)/2;
if(nr0(m)>=P)
u=m-1;
else
p=m+1;
}
fprintf(g,"%d",p);
fclose(g);
return 0;
}