11687 팩토리얼 0의 개수

정민용·2023년 2월 12일
0

백준

목록 보기
47/286

문제

가장 끝의 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))

백준 11687 팩토리얼 0의 개수

0개의 댓글