Cod sursa(job #93315)
| Utilizator | Data | 18 octombrie 2007 15:19:47 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.39 kb |
# include <stdio.h>
int f(int n){
int c=0;
while(n){
c+=n/5;
n/=5;
}
return c;
}
int main (){
freopen("factorial.in","r",stdin);
freopen("factorial.out","w",stdout);
int p;
long s,d,m;
scanf("%d",&p);
s=1;
d=800000000;
while(s!=d){
m=(s+d)/2;
if(f(m)<p)
s=m+1;
else
d=m;
}
if(p==f(s))
printf("%ld",s);
else
printf("-1");
return 0;
}
