Pagini recente » Cod sursa (job #1371671) | Cod sursa (job #1748568) | Cod sursa (job #2493798) | Cod sursa (job #1308531) | Cod sursa (job #1868627)
#include <cstdio>
#define MIN(A,B) A <= B ? A : B
#define INF 1000000000
using namespace std;
FILE *f = freopen("fact.in", "r", stdin);
FILE *g = freopen("fact.out", "w", stdout);
long long p;
long long verif(long long n) {
int sum = 0, p = 5;
while(p <= n) {
sum += n / p;
p *= 5;
}
return sum;
}
long long caut_binar() {
long long ls = 0, ld = INF;
while(ls <= ld) {
long long mij = (ls + ld) / 2;
long long val = verif(mij);
if(val == p)
return mij - mij%5;
else if(val < p)
ls = mij + 1;
else if(val > p)
ld = mij - 1;
}
return -1;
}
int main() {
scanf("%lld", &p);
printf("%lld ", caut_binar());
//printf("%d", verif(45, 9));
return 0;
}