Pagini recente » Cod sursa (job #930646) | Cod sursa (job #2761318) | Cod sursa (job #1402244) | Cod sursa (job #297796) | Cod sursa (job #735137)
Cod sursa(job #735137)
#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;
z = bs();
if(z > 0 )
{
while(z % 5)
z--;
fout<<z;
}
else
fout << -1;
}
long numar(int x)
{
int 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;
}