Pagini recente » Cod sursa (job #1388128) | Cod sursa (job #2168693) | Cod sursa (job #2073290) | Cod sursa (job #390553) | Cod sursa (job #2336540)
#include <fstream>
using namespace std;
ifstream cin ("fact.in");
ofstream cout ("fact.out");
int c;
long long powe;
long long last(long long nr2)
{
c = 0;
powe = 5;
while(powe <= nr2)
{
c += nr2 / powe;
powe *= 5;
}
return c;
}
long long t, poz;
long long cb (long long nr)
{
poz = 0;
for (t = 1 << 20; t > 0; t = t >> 1)
{
if (last(poz + t) <= nr)
poz += t;
}
if (last(poz) == nr)
{
while (last(poz) == nr)
poz--;
return poz+1;
}
else return -1;
}
int main()
{
long long p;
cin >> p;
if (p == 0)
{
cout << 1;
return 0;
}
cout << cb(p);
return 0;
}