Pagini recente » Cod sursa (job #19512) | Cod sursa (job #2890413) | Cod sursa (job #2798412) | Cod sursa (job #1609052) | Cod sursa (job #735138)
Cod sursa(job #735138)
#include<fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int i,j, n, P;
int bs();
void 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)
{
int k = 5, nr =0, 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;
}