Pagini recente » Cod sursa (job #2519503) | Cod sursa (job #2653513) | Cod sursa (job #2211932) | Cod sursa (job #957558) | Cod sursa (job #2055382)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long p,n,st=1,dr=1e18,med,x;
unsigned long long f(unsigned long long x)
{
unsigned long long sol=0;
while(x>0)
{
sol+=x/5;
x/=5;
}
return sol;
}
int main()
{
fin>>p;
if(p==0)
{
fout<<1;
return 0;
}
while(st<=dr)
{
med=(st+dr)/2;
x=f(med);
if(x==p)
{
if(f(med-1)!=p)
{
fout<<med;
return 0;
}
dr=med;
continue;
}
if(x<p)
st=med+1;
else
dr=med-1;
}
fout<<-1;
return 0;
}