# BOJ01676 팩토리얼 0의 개수
https://www.acmicpc.net/problem/1676 (opens new window)
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구한다.
# 2 x 5 = 10
맨 뒷자리가 0이 나오기 위해서는 2와 5의 곱인 10이 필요하다.
...
5! = 120 = 2^3 x 3 x 5
...
10! = 3,628,800 = 2^8 x 3^4 x 5^2 x 7
...
25! = 2^22 x 3^10 x 5^6 x 7^3 x 11^3 x 13 x 17 x 19 x 23
...
25의 경우에는 5 x 5 만큼 증가하기 때문에 100 만큼 증가한다. 125도 마찬가지다. 결국 0의 개수는 n!에서 n을 5로 나누었을 때 몫을 누적하여 구하면 된다.
# 제출 코드
아래는 최종 제출 코드이다.
import java.util.Scanner;
public class BOJ1676 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int count = 0;
while (num >= 5) {
count += num / 5;
num /= 5;
}
System.out.println(count);
}
}