Cod sursa(job #93321)
Utilizator | Hoaghea Teodor-Andrei d0d0 | Data | 18 octombrie 2007 15:23:57 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<stdio.h>
int factorial(int n){
int p=0;
while(n>0){
p+=n/5;
n/=5;
}
return p;
}
int main () {
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int m,p,a=1,b=500000000;
scanf("%d",&p);
while(a!=b){
m=(a+b)/2;
if(factorial(m)>=p)
b=m;
else
a=m+1;
}
if(factorial(a)==p)
printf("%d",a);
else
printf("-1");
fclose(stdin);
fclose(stdout);
return 0;
}