가장 끝의 0의 개수가 M개인 N! 중에서 가장 작은 N을 찾는 프로그램을 작성하시오.
import sys
input = lambda: sys.stdin.readline().strip()
n = int(input())
def binary_search(target, start, end):
result = -1
while start <= end:
mid = (start + end) // 2
num = 0
for i in range(0, 13):
num += mid // (5**i)
if num > target:
end = mid - 1
elif num == target:
result = mid * 5
return result
else:
start = mid + 1
return result
print(binary_search(n, 1, 1000000001))