Pagini recente » Cod sursa (job #222712) | Cod sursa (job #608414) | Istoria paginii runda/53425432 | Cod sursa (job #2012751) | Cod sursa (job #1877044)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long maxi=100000000,st,dr,rez,P;
int nrzero(unsigned long long a)
{
int nr=0,p=5;
while(a>=p)
{
nr=nr+a/p;
p=p*5;
}
return nr;
}
unsigned long long cauta(unsigned long long st,unsigned long long dr,unsigned long long P)
{
unsigned long long x,mij;
if(st<=dr)
{
mij=(st+dr)/2;
x=nrzero(mij);
if(x==P)
return mij;
else if(x<P)
cauta(mij+1,dr,P);
else
cauta(st,mij-1,P);
}
else
return -1;
}
int main()
{
fin>>P;
st=1;
dr=maxi;
if(P==0)
fout<<1;
else
{
rez=cauta(st,dr,P);
if(rez!=-1)
{
while(rez%5!=0)
rez--;
fout<<rez;
}
else
fout<<-1;
}
return 0;
}