Pagini recente » Cod sursa (job #2932330) | Cod sursa (job #1624269) | Cod sursa (job #2622725) | Cod sursa (job #1017053) | Cod sursa (job #515417)
Cod sursa(job #515417)
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<deque>
#include<queue>
#include<set>
#include<vector>
using namespace std;
const int INF = 1000000005;
long long N, P;
long long nr;
bool ok(long long X)
{
nr = 0;
for(long long div = 5 ; div <= X ; div *= 5)
nr += X / div;
return(nr >= P);
}
long long caut_bin()
{
long long REZ = 0, q = 1LL * (1<<30) * (1<<30);
while(q)
{
if(!ok(REZ + q))
REZ += q;
q >>= 1;
}
ok(REZ + 1);
return (nr == P ? REZ + 1 : -1);
}
int main()
{
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
scanf("%lld", &P);
if(P == 0)
{
printf("1\n");
return 0;
}
printf("%lld\n", caut_bin());
return 0;
}