Pagini recente » Cod sursa (job #2038434) | Cod sursa (job #1920262) | Cod sursa (job #793467) | Cod sursa (job #199829) | Cod sursa (job #932273)
Cod sursa(job #932273)
#include <fstream>
using namespace std;
long long n,p,i,put;
long long pow(long long x,long long put)
{ long long i; long long y=x; x=1;
for (i=1;i<=put;++i)
x*=y;
return x;
}
long long caut(long long n)
{
long long st,dr,mij,i,p;
st=1;dr=pow(10,8);mij=(st+dr)/2;
while (st<=dr && mij>0)
{p=0;
mij=(st+dr)/2;
for (i=1;i<=8;i++)
p+=(long long)(mij/(pow(5,i)));
if (p==n) return mij;
if (p<n) st=mij+1;
if (p>n) dr=mij-1;
}
}
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
f>>n;p=caut(n);
for (i=1;i<=8;++i) put+=(long long)(p/(pow(5,i)));
if (put!=n) g<<"-1"; else
g<<p-p%5;
f.close();
g.close();
return 0;
}