[문제]
https://www.acmicpc.net/problem/1676
[풀이]
끝자리가 0이 되려면 2와 5를 곱했을 경우에만 10이 나와 끝에 0이 추가된다.
따라서 소인수분해 했을 때 2와 5의 최소값을 구하면 되는 문제인데 숫자가 커질수록 5가 2보다 적게 나와 5의 개수만 구해도 되겠다는 생각이 들었다.
따라서 n이 5 이상일 동안 cnt에 5로 나눴을 때의 몫을 더한 후 출력한다.
[코드]
import sys
if __name__ == '__main__':
n = int(sys.stdin.readline())
cnt = 0
while n >= 5:
cnt += n // 5
n //= 5
print(cnt)
'문제풀이 > BOJ' 카테고리의 다른 글
[Python] BOJ/백준 1620번 나는야 포켓몬 마스터 이다솜 (0) | 2022.03.04 |
---|---|
[Python] BOJ/백준 11659번 구간 합 구하기 4 (0) | 2021.09.04 |
[Python] BOJ/백준 11047번 동전 0 (0) | 2021.09.03 |
[Python] BOJ/백준 17626번 Four Squares (0) | 2021.08.31 |
[Python] BOJ/백준 5430번 AC (0) | 2021.08.31 |