Cod sursa(job #281565)
Utilizator | Data | 15 martie 2009 12:53:52 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 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) return mid;
}
return 0;
}