Cod sursa(job #1194111)
| Utilizator | Data | 2 iunie 2014 20:32:27 | |
|---|---|---|---|
| Problema | Factorial | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<cstdio>
#include<algorithm>
using namespace std;
int n,i,j,p,st,dr,m,x,minn;
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
st=1; dr=100000000; minn=100000000;
while (st<=dr)
{
m=(st+dr)/2; x=5; n=0;
while (m>=x)
n=n+(m/x),x=x*5;
if (n==p) minn=min(m,minn);
if (n<p) st=m+1; else dr=m-1;
}
if (minn==100000000) minn=-1;
printf("%d",minn);
return 0;
}
