N!이 (정수)*(10^n)일 때 n이 무엇인지 구하는 문제이다.
1부터 N까지의 수를 곱할 때 2의 m제곱수와 5의 n제곱수, 2와 5를 제외한 수들을 곱한 정수 파트의 부분으로 나눌 수 있다.
따라서 m과 n의 수 중 작은 값이 문제에서 원하는 답이 된다.
그러나 항상 n이 작기 때문에 사실상 5의 n제곱수만 있어도 된다.
4까지의 값까지는 5의 배수가 없으므로 5부터 for문을 돌려 5의 총 개수를 구하면 된다.
num=int(input())
five=0
for i in range(5, num+1):
while i%5==0:
five+=1
i//=5
print(five)
'BOJ > Python' 카테고리의 다른 글
[BOJ/백준] 30802 - 웰컴 키트 (Python) (1) | 2024.09.13 |
---|---|
[BOJ/백준] 31923 - 마라탕후루 (Python) (1) | 2024.09.13 |
[BOJ/백준] 10814 - 나이순 정렬 (Python) (0) | 2024.09.10 |
[BOJ/백준] 21335 - Another Eruption (Python) (0) | 2024.09.09 |
[BOJ/백준] 26057 - Большой удой (Python) (2) | 2024.09.09 |