Pagini recente » Cod sursa (job #559284) | Cod sursa (job #730500) | Cod sursa (job #453211) | Cod sursa (job #2516773) | Cod sursa (job #1405229)
#include <fstream>
using namespace std;
ifstream is("fact.in");
ofstream os("fact.out");
int p;
long long factorial(long long x);
int main()
{
is >> p;
long long st = 1, dr = p * 5;
long long mid;
while ( st <= dr )
{
mid = (st + dr) / 2;
if ( factorial(mid) < p )
st = mid + 1;
else
dr = mid - 1;
}
if ( factorial(st) == p )
os << st;
else
os << -1;
is.close();
os.close();
return 0;
}
long long factorial(long long x)
{
long long rez = 0;
for ( int i = 5; i <= x; i *= 5 )
rez += x / i;
return rez;
}