Pagini recente » Cod sursa (job #2956020) | Cod sursa (job #1006512) | Cod sursa (job #411828) | Cod sursa (job #1241606) | Cod sursa (job #735146)
Cod sursa(job #735146)
#include<fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int i,j, n, P;
int bs();
int read()
{
long z;
fin >> P;
if(P==0)
{
fout << 1;
return 0;
}
z = bs();
if(z > 0 )
{
while(z % 5)
z--;
fout<<z;
}
else
fout << -1;
}
long numar(int x)
{
long k = 5, nr =1, s = 0;
while(nr < x)
{
nr *= k;
s += x /nr;
}
return s;
}
int bs()
{
long i, p = 1, u = 10 * P ,m;
// m = ( p + u )/2 ;
while(p <= u)
{
m = ( p + u ) /2;
// fout << numar(m) <<'\n';
if(numar(m) <= P)
p = m + 1;
else
u = m - 1;
}
m = (p + u) /2;
if(numar(m) > P)
--m;
if(numar(m) == P)
return m;
return -1;
}
int main()
{
read();
fin.close();
fout.close();
return 0;
}