Pagini recente » Cod sursa (job #1514165) | Cod sursa (job #262885) | Cod sursa (job #2374498) | Cod sursa (job #3169664) | Cod sursa (job #1010458)
#include <fstream>
using namespace std;
unsigned long long nr0(unsigned long long x)
{
unsigned long long ret = 0;
for (unsigned long long i = 5; i <= x ; i *= 5)
ret += x/i;
return ret;
}
int main()
{
ifstream IN ("fact.in");
ofstream OUT ("fact.out");
int p; IN >> p;
unsigned long long noo5 = 0;
unsigned long long a = 0, b = p*5, c = (a+b) / 2;
if (p == 0)
{
OUT << "1\n";
return 0;
}
else
{
while (a <= b)
{
c = (a+b)/2;
noo5 = nr0(c);
if (noo5 >= p)
{
b = c - 1;
}
else
{
a = c + 1;
}
}
if (noo5 == p)
{
OUT << c << "\n";
return 0;
}
OUT << "-1\n";
}
return 0;
}