Pagini recente » Cod sursa (job #1225882) | Cod sursa (job #1657326) | Cod sursa (job #2143985) | Cod sursa (job #1968223) | Cod sursa (job #1901939)
#include <iostream>
#include <fstream>
using namespace std;
long long p, mijloc;
int i=0, s=1000000000;
ifstream fin("fact.in");
ofstream fout("fact.out");
int factorial(long long x)
{
long long p5=5,f=0;
while(p5<=x)
{
f+=(x/p5);
p5*=5;
}
if(!x)
{
return 1;
}
else
{
return f;
}
}
int main()
{
fin>>p;
if(p==0)
{
fout<<1;
}
else
{
while(s>i)
{
mijloc=(i+s)/2;
if(factorial(mijloc)<p)
{
i=mijloc+1;
}
else
{
s=mijloc;
}
}
if(factorial(i)!=p)
{
fout<<-1;
}
else
{
fout<<i;
}
}
return 0;
}