Pagini recente » Cod sursa (job #585121) | Cod sursa (job #1038938) | Cod sursa (job #875001) | Cod sursa (job #896681) | Cod sursa (job #793282)
Cod sursa(job #793282)
#include <fstream>
#include <iostream>
using namespace std;
long long s = 1, d = (1LL << 60), m, p, k, j;
long long functie ( long long x )
{
k =0;
j = 5;
while ( j < x )
{
k += x/j;
j *= 5;
}
return k;
}
int main ( void )
{
ifstream fin ( "fact.in" );
ofstream fout ( "fact.out" );
fin >> p;
while ( s < d )
{
long long x = functie ( ( s + d ) / 2 );
if ( x >= p )
d = ( s + d ) / 2;
if ( x < p )
s = ( s + d ) / 2 + 1;
}
if (functie(s) == p)
fout << s;
else
fout << -1;
fin.close();
fout.close();
}