알고리즘 분류
- 수학
문제
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
출력
첫째 줄에 구한 0의 개수를 출력한다.
풀이
뒤에서부터 처음 0이 아닌 숫자를 구하는 것은, 10의 배수를 구하는 것과 같다.
10의 배수 즉, 2,5가 곱해지는 개수
를 구하면 되된다. 입력 범위가 0에서 500까지
이며, 5의 배수 이전에 2의 배수가 존재
하기 때문에 5의 배수
, 5의 제곱인 25의 배수
, 5의 세제곱인 125의 배수
개수를 더하면 풀 수 있는 문제이다.
소스 코드
Python
N = int(input())
sum = 0
sum += N // 5
sum += N // 25
sum += N // 125
print(sum)
Ghost