๐Ÿงท ๋ฌธ์ œ

https://www.acmicpc.net/problem/2004

์กฐํ•ฉ nCm์˜ ๋์ž๋ฆฌ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

๐Ÿ›  ํ’€์ด

์ด ๋ฌธ์ œ๋Š” ์‹œ๊ฐ„์ดˆ๊ณผ๋ฅผ ์‹ ๊ฒฝ์จ์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

Step 1.
 ์ด ๋ฌธ์ œ๋ฅผ ๋‹จ์ˆœํžˆ nCr = n! / r!(n-r)!์„ ๊ณ„์‚ฐํ•œ ํ›„์— 10์œผ๋กœ ๋‚˜๋ˆ ์„œ ๊ณ„์‚ฐํ•˜๋ฉด ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์ž…๋ ฅ์˜ ๋ฒ”์œ„๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค.

Step 2.
 ๊ทธ๋ ‡๋‹ค๋ฉด ๋์ž๋ฆฌ๊ฐ€ 0์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณธ๋‹ค.
 ๋์ž๋ฆฌ๊ฐ€ 0์ด ๋˜๋ ค๋ฉด 2์™€ 5์˜ ๊ณฑ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์•ผํ•œ๋‹ค. ์ฆ‰, 2์™€ 5์˜ ์Œ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ๋์ž๋ฆฌ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

Step 3.
 ๋‹ค์‹œ ํ•œ๋ฒˆ, 10์ด ๋งŒ๋“ค์–ด์ง€๋ ค๋ฉด 2์™€ 5๊ฐ€ ์Œ์„ ์ด๋ค„์•ผ ํ•˜๋ฏ€๋กœ 2์˜ ๊ฐฏ์ˆ˜์™€ 5์˜ ๊ฐฏ์ˆ˜ ์ค‘ ๋” ์ž‘์€ ๊ฒƒ์„ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ–Š ๋‚˜์˜ ์ฝ”๋“œ

import sys

input = sys.stdin.readline

def count_two(x):
    cnt = 0
    while x > 0:
        x = x // 2
        cnt += x

    return cnt

def count_five(x):
    cnt = 0
    while x > 0:
        x = x // 5
        cnt += x

    return cnt

def count_zero(x, y):
    t = count_two(x) - count_two(y) - count_two(x-y)
    f = count_five(x) - count_five(y) - count_five(x-y)

    return min(t, f)


if __name__ == "__main__":
    n, m = map(int, input().split())

    print(count_zero(n, m))