ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
์ด ๋ฌธ์ ๋ ์กฐํฉ์ ์ฑ์ง์ ์ดํดํ ์ ์์ด์ผ ํ ์ ์๋ ๋ฌธ์ ์ด๋ค. ์กฐํฉ์ nCm์ด๋ฏ๋ก n! / m! (n - m)!์ผ๋ก ๊ณ์ฐ ๋๋ค.
์ด๋ n!, m!, (n - m)!์ ๋ํด ๊ฐ๊ฐ 2, 5๋ก ๋๋์ด์ง๋์ง ํ์ธํ๊ณ ์นด์ดํธํ๋ฉด ๋๋ค.
๊ทธ๋ผ ์ค์ ๊ณ์ฐ์ ์ํด n! ๊ฐ๋ค ์ค์ 2, 5์ ๋ฐฐ์๋ฅผ ์ฐพ์์ผ ํ ๊น? ์๋๋ค. ๋ง์ฝ 9์ธ ๊ฒฝ์ฐ 2์ ๋ฐฐ์๋ 2 4 6 8๋ก 4๊ฐ๊ฐ ๋๋ฉฐ, 5์ ๋ฐฐ์๋ 5 1๊ฐ์ด๋ฏ๋ก 9 // 2, 9 // 5๋ก 9!์ ๋ํ ๊ฐ ๋ฐฐ์๋ค์ ์ฐพ์ ์ ์๋ค.
์ฝ๋
def cnt(n, divisor):
ret = 0
while n != 0:
n //= divisor
ret += n
return ret
if __name__ == '__main__':
n, m = map(int, input().split())
two_cnt = cnt(n, 2) - cnt(m, 2) - cnt(n - m, 2)
five_cnt = cnt(n, 5) - cnt(m, 5) - cnt(n - m, 5)
print(min(two_cnt, five_cnt))
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 17103 ๊ณจ๋๋ฐํ ํํฐ์ (0) | 2020.06.26 |
---|---|
๋ฐฑ์ค: 17087 ์จ๋ฐ๊ผญ์ง 6 (0) | 2020.06.26 |
๋ฐฑ์ค: 1676 ํฉํ ๋ฆฌ์ผ 0์ ๊ฐ์ (0) | 2020.06.25 |
๋ฐฑ์ค: 6588 ๊ณจ๋๋ฐํ์ ์ถ์ธก (0) | 2020.06.25 |
๋ฐฑ์ค: 11655 ROT13 (0) | 2020.06.24 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ