무제

[백준] 1676번 팩토리얼 0의 개수 본문

Study/Coding Test 오답노트

[백준] 1676번 팩토리얼 0의 개수

mugan1 2024. 11. 29. 16:20

1. 나의 풀이 

 

통과한 풀이지만 모범답안을 보니 엉망이네

import sys
input = sys.stdin.readline

n = int(input())

array = [1]*501

for i in range(1, n+1):
    array[i] = array[i-1]*i

answer = 0 
while array[n] % 10 == 0:
    array[n] = array[n] // 10    
    answer +=1
print(answer)

 

2. 좋은 풀이

 

와 10은 2x5이므로 5의 개수만 찾아내면 된다....

범위가 500까지므로 5의 3제곱수까지만 계산해주면 된다

 

이걸 어케 생각하는거지...

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