Pagini recente » Cod sursa (job #1070966) | Monitorul de evaluare | Cod sursa (job #2235261) | Cod sursa (job #1873864) | Cod sursa (job #2001796)
#include <cstdio>
using namespace std;
long long int p5(int x)
{
long long int p5 = 5, sol = 0;
while(p5 <= x) {
sol += x / p5;
p5 *= 5;
}
return sol;
}
int main()
{
long long int st = 1, dr = 2000000000, n, mij;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld", &n);
if(n == 0) {
printf("1\n");
}
else {
long long int last = 0;
while(st <= dr) {
mij = (st + dr) / 2;
long long int val = p5(mij);if(val < n) {
st = mij + 1;
}
else {
dr = mij - 1;
last = dr + 1;
}
}
if(p5(last) == n) {
printf("%d\n", last);
}
else {
printf("-1\n");
}
}
return 0;
}