[BOJ] 2004 ์กฐํฉ 0์ ๊ฐ์ (Python / ํ์ด์ฌ)

๐งท ๋ฌธ์
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))
'Algorithm > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 15990 1, 2, 3 ๋ํ๊ธฐ 5 (Python / ํ์ด์ฌ) (0) | 2021.08.01 |
---|---|
[BOJ] 11052 ์นด๋ ๊ตฌ๋งคํ๊ธฐ (Python / ํ์ด์ฌ) (0) | 2021.08.01 |
[BOJ] 1929 ์์ ๊ตฌํ๊ธฐ (Python / ํ์ด์ฌ) (0) | 2021.07.30 |
[BOJ] 2609 ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (Python / ํ์ด์ฌ) (0) | 2021.07.30 |
[BOJ] 1918 ํ์ ํ๊ธฐ์ (Python / ํ์ด์ฌ) (0) | 2021.07.30 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[BOJ] 15990 1, 2, 3 ๋ํ๊ธฐ 5 (Python / ํ์ด์ฌ)
[BOJ] 15990 1, 2, 3 ๋ํ๊ธฐ 5 (Python / ํ์ด์ฌ)
2021.08.01 -
[BOJ] 11052 ์นด๋ ๊ตฌ๋งคํ๊ธฐ (Python / ํ์ด์ฌ)
[BOJ] 11052 ์นด๋ ๊ตฌ๋งคํ๊ธฐ (Python / ํ์ด์ฌ)
2021.08.01 -
[BOJ] 1929 ์์ ๊ตฌํ๊ธฐ (Python / ํ์ด์ฌ)
[BOJ] 1929 ์์ ๊ตฌํ๊ธฐ (Python / ํ์ด์ฌ)
2021.07.30 -
[BOJ] 2609 ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (Python / ํ์ด์ฌ)
[BOJ] 2609 ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (Python / ํ์ด์ฌ)
2021.07.30
๋๊ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.