Pagini recente » Cod sursa (job #1660507) | Cod sursa (job #2608432) | Cod sursa (job #1770652) | Cod sursa (job #1384434) | Cod sursa (job #1855616)
#include <cstdio>
#include <cstdlib>
#include <cassert>
#include <vector>
#include <cstring>
#include <cctype>
#include <algorithm>
using namespace std;
typedef long long LL;
#ifdef INFOARENA
#define ProblemName "fact"
#endif
#define MCONCAT(A, B) A B
#ifdef ProblemName
#define InFile MCONCAT(ProblemName, ".in")
#define OuFile MCONCAT(ProblemName, ".out")
#else
#define InFile "fis.in"
#define OuFile "fis.out"
#endif
int lastDigit(int N) {
LL p = 5;
int ans = 0;
while (p <= (LL)N) {
ans += (int)(N / p);
p *= 5;
}
return ans;
}
int binSrch(int P) {
int left = 1, right = 10 * P, found = 1;
while (left <= right) {
int mid = left + (right - left) / 2;
int ncif = lastDigit(mid);
if (ncif >= P) {
right = mid - 1;
if (ncif == P)
found = mid;
}
else left = mid + 1;
}
return found;
}
int main() {
assert(freopen(InFile, "r", stdin));
assert(freopen(OuFile, "w", stdout));
int p;
scanf("%d", &p);
printf("%d\n", binSrch(p));
return 0;
}