Pagini recente » Cod sursa (job #906155) | Cod sursa (job #2477445) | Istoria paginii runda/fminostres2017/clasament | Cod sursa (job #2087223) | Cod sursa (job #668842)
Cod sursa(job #668842)
#include<fstream>
#include<iostream>
using namespace std;
long long fact(long long x)
{
long long nr,i,j;
if(x==0)
return 1;
nr=x/5;
j=1;
for(i=25;i<=x;i=i*5,j++)
nr=nr+x/i;
return nr;
}
int main ()
{
long long p,q,mij,c,a,n;
ifstream f("fact.in");
ofstream g("fact.out");
f>>n;
f.close();
p=1;
q=2000000000;
a=0;
while(p<=q) {
mij=(p+q)/2;
c=fact(mij);
if(c<n)
p=mij+1;
else if(c>n)
q=mij-1;
else {
a=1;
break;
}
}
if(a==0)
g<<"-1";
else {
while(mij%5!=0)
mij--;
if((mij==0)&&(n!=1))
g<<mij+1;
else g<<mij;
}
g.close();
return 0;
}