From 8a4b69cc189a8d9e4ca061cfe12c44c05c0ece57 Mon Sep 17 00:00:00 2001 From: HeoHeo Date: Tue, 23 May 2023 19:22:00 +0900 Subject: [PATCH] Preimage Size of Factorial Zeroes Function --- heoh/leetcode-793.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 heoh/leetcode-793.py diff --git a/heoh/leetcode-793.py b/heoh/leetcode-793.py new file mode 100644 index 0000000..2dbe51a --- /dev/null +++ b/heoh/leetcode-793.py @@ -0,0 +1,25 @@ +def sub_g(x, p): + return x // (5**p) + +def g(x): + return sum(sub_g(x, i) for i in range(1, 15)) + +def bs(lo, hi, x): + if hi >= lo: + mid = (hi + lo) // 2 + if g(mid) == x: + return mid + elif g(mid) > x: + return bs(lo, mid-1, x) + else: + return bs(mid+1, hi, x) + else: + return -1 + +class Solution: + def preimageSizeFZF(self, k: int) -> int: + result = bs(0, 10**10, k) + if result == -1: + return 0 + else: + return 5