Pagini recente » Cod sursa (job #1194190) | Cod sursa (job #1550039) | Cod sursa (job #2813412) | Cod sursa (job #210637) | Cod sursa (job #2110679)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p;
long long fact(long long n)
{
long long s = 0;
while (n)
{
s += n / 5;
n /= 5;
}
return s;
}
int main()
{
f>>p;
if ( p == 0 )
{
g<<"1";
return 0;
}
long long c;
long long a = 0, b = 10000000000LL;
long long ff;
while ( a < b-1 )
{
c = (a + b)/2;
ff = fact(c);
if ( ff < p )
a = c;//+1;
else if ( ff > p )
b = c;//-1;
else
break;
}
while ( c % 5 )
--c;
if ( fact(c) == p )
g<<c;
else
g<<"-1";
return 0;
}