코딩테스트

[백준] 1676 | 팩토리얼 0의 개수 [파이썬/python]

사용할수없는닉네임이왜이렇게많지ㅠㅠ 2025. 3. 31. 16:24
728x90

문제

link:  https://www.acmicpc.net/problem/1676

 

접근

n!을 구한 후, 뒤에서부터 0의 개수를 세는 문제이다. 단, 0이 아닌 숫자가 나올 때까지만, 즉, 연속되어 있는 0의 개수만 센다.

팩토리얼을 구한 후 for문을 통해 세는 방법도 있겠지만, 10이 곱해질 때마다 0이 늘어난다는 점에서 착안해 팩토리얼 계산 과정에서 곱해지는 5의 개수를 셈해 출력하도록 했다. 

코드

N = int(input())
f = 5
cnt = 0

while N >= f:
    cnt += N // f
    f *= 5
    
print(cnt)
728x90