Pagini recente » Cod sursa (job #1258386) | Cod sursa (job #2008745) | Cod sursa (job #2841719) | Cod sursa (job #1999824) | Cod sursa (job #3033364)
#include <fstream>
using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
long long gasit,p,n,st,dr,mid;
long long nr_zerouri(long long x)
{
long long pt=5;
long long nr=0;
while(x>=pt)
{
nr=nr+x/pt;
pt=pt*5;
}
return nr;
}
int main()
{
///nr de 0-uri este egal cu puterea la care apare 5 in n!
cin>>p;
if(p==0)
cout<<1;
else
{
st=0;gasit=-1;
dr=50000000000;
while(st<=dr)
{
mid=(st+dr)/2;
if(nr_zerouri(mid)==p)
{
if(mid%10<5)
n=mid/10*10;
else
n=mid/10*10+5;
gasit=1;
break;
}
else
if(nr_zerouri(mid)<p)
st=mid+1;
else
dr=mid-1;
}
if(gasit==-1)
cout<<-1;
else
cout<<n;
}
return 0;
}