Cod sursa(job #281535)
Utilizator | Data | 15 martie 2009 11:47:33 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.36 kb |
#include <stdio.h>
int main()
{ long long st=10000000,p,mid,dr=1,e=0;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&p);
while(st<=dr)
{ mid=st+(dr-st)/2;
int a=mid;
while(a!=0||a%5!=0){ a/=5;e++;}
if(p<e) dr=mid-1;
else if(p>e) st=mid+1;
if(p==e) return mid;
}
return -1;
}