N = int(input())
print(N//5 + N//25 + N//125)

팩토리얼로 얻을 수 있는 수를 인수 분해 했을때, 0이 늘어나는 순간은 10(2x5)가 곱해지는 순간이다.

따라서 5의 개수를 찾으면 쉽다. 예를 들어, 10!이면 5에서 한번, 10에서 한번 --> 그래서 답이 2

원래는 for-loop를 활용해서 조건식은 5를 계속 곱해주고, for-loop 안에서는 5로 나눠주어 5의 갯수를 찾아야 한다.

하지만 문제에서 주어진 N의 범위(0<N<500)가 크지 않으니 그냥 print 문으로 해결.

125도 넣어줘야하는 이유는 N의 범위가 125를 포함하기 때문. 또, 5를 3번 포함하기 때문.

625는 500 범위 밖이니 제외.

'# 코딩 문제 관련 > 파이썬' 카테고리의 다른 글

백준 10773번(python)  (0) 2020.05.02
백준 2004번(python)  (0) 2020.04.28
백준 9375번(python)  (0) 2020.04.20
백준 11050번(python)  (0) 2020.04.19
백준 3036번(python)  (0) 2020.04.19