ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
๋ฌธ์ ํ์ด
ํฉํ ๋ฆฌ์ผ๋ก ๊ณ์ฐ๋ ๊ฐ์์ ๋ค์์ ๋ถํฐ 0์ด ์๋ ์ต์ด์ ๋ค๋ฅธ ์๊ฐ ๋ฐ์ํ๋์ง๋ฅผ ํ์ธํ๊ณ ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค. ์๋ฅผ ๋ค์ด 10!์ 3628800์ด๋ฏ๋ก ๋ค์์ 0์ด ์๋ ์๋ 2๋ฒ์งธ ์ดํ์ ๋ฑ์ฅํ๋ค. ๊ฐ๋จํ๊ฒ ๊ฐ์ด ์ ๋ ฅ๋๋ฉด ์ด์ ๋ํ ํฉํ ๋ฆฌ์ผ์ ๊ณ์ฐํ๊ณ , ๋ฌธ์๋ก ๋ณํํ์ฌ ๋ค์ง์ ํ์ 0์ด ๋์ค์ง ์์ ๋๊น์ง ์นด์ดํธํ์๋ค.
์ฝ๋
import math
if __name__ == '__main__':
f = str(math.factorial(int(input())))
cnt = 0
for num in f[::-1]:
if num != '0':
break
else:
cnt += 1
print(cnt)
์ง์ ํฉํ ๋ฆฌ์ผ์ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ ๋ง๊ณ ๋, ๋ท์๋ฆฌ๊ฐ 0์ด ๋๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ์ ๋ 5, 25, 125์ ๋ฐฐ์๊ฐ ๋๋ฉด ๋ท์๋ฆฌ๊ฐ 0์ด ๋๋ ๊ฒฝ์ฐ์ ์๊ฐ ๋๋ค. ๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์๋ ์๋ค.
if __name__ == '__main__':
n = int(input())
cnt = (n // 5 ** 3) + (n // 5 ** 2) + (n // 5)
print(cnt)
์์ ๋ฐฉ๋ฒ๊ณผ ์ฐจ์ด๋ 4ms ๋ฐ์ ๋์ง ์๋๋ค. ์ง๊ด์ ์ผ๋ก ํ ์ ์๋ ๋ฐฉ์์ ๋นํด 0์ด ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ดํดํ์ฌ์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ด ๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ฒ๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ๋ค.
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 17087 ์จ๋ฐ๊ผญ์ง 6 (0) | 2020.06.26 |
---|---|
๋ฐฑ์ค: 2004 ์กฐํฉ 0์ ๊ฐ์ (0) | 2020.06.25 |
๋ฐฑ์ค: 6588 ๊ณจ๋๋ฐํ์ ์ถ์ธก (0) | 2020.06.25 |
๋ฐฑ์ค: 11655 ROT13 (0) | 2020.06.24 |
๋ฐฑ์ค: 1935 ํ์ ํ๊ธฐ์2 (0) | 2020.06.24 |