Pagini recente » Cod sursa (job #789445) | Clasament Teme ACM Unibuc 2013 | Cod sursa (job #1355869) | Cod sursa (job #1169620) | Cod sursa (job #2550410)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p, st, mij=0, nrz=0;
long long dr;
int putere(int k)
{
int nr=0, y=5;
while(k>=y)
{
nr+=k/y;
y=y*5;
}
return nr;
}
int main()
{
fin>>p;
if(p==0)
{
fout<<'1';
return 0;
}
st=1;
dr=2000000000;
while(st<=dr)
{
mij=(st+dr)/2;
nrz=putere(mij);
if(nrz==p)
break;
else if(nrz<p)
st=mij+1;
else
dr=mij-1;
}
if(nrz==p)
fout<<mij-mij%5;
else
fout<<-1;
return 0;
}