Cod sursa(job #281567)
Utilizator | Data | 15 martie 2009 12:54:55 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <stdio.h>
int main()
{ int hi=10000000,p,mid,lo=1,e=0;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
while(lo<=hi)
{ mid=lo+(hi-lo)/2;
int a=mid,e=0;
while(a/5)
{ e+=a/5;
a/=5;
}
if(p<e) hi=mid-1;
else if(p>e) lo=mid+1;
else if(p==e) {printf("%d",mid);return 0;}
}
return 0;
}