Pagini recente » Borderou de evaluare (job #96569) | Borderou de evaluare (job #2275763) | Borderou de evaluare (job #2341890) | Borderou de evaluare (job #2125849) | Cod sursa (job #3270810)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
ll p;
void read();
ll zeros(int);
void solve();
int main()
{
read();
solve();
return 0;
}
void read()
{
fin >> p;
}
ll zeros(int n)
{
if(n < 0)
return 0;
ll cnt = 0;
for(ll i = 5; n / i >= 1; i *= 5)
cnt += n / i;
return cnt;
}
void solve()
{
ll st, dr, res;
st = 0;
dr = 5 * p;
res = 0;
bool gasit = false;
while(st <= dr)
{
ll mij = (st + dr) / 2;
ll z = zeros(mij);
if(z == p)
res = mij, dr = mij - 1, gasit = true;
else if(z > p)
dr = mij - 1;
else
st = mij + 1;
}
if(gasit)
fout << res;
else
fout << -1;
}