main
[백준-1676번/Java] 팩토리얼 0의 개수 본문
* 10의 배수로 계산하면 곱했을 때, 10의 배수가 되는 경우를 판단하기 어려움
* 0의 개수는 2 * 5의 개수와 같은데 2가 훨씬 많으므로 5의 개수만 센다. (2의 배수, 5의 배수 빈도차)
* 5의 배수에는 5가 1개, 25의 배수에는 5가 2개, 125의 배수에서는 5가 3개
-> 한 바퀴 씩 더 세주면 됨.
(5의 4제곱은 625는 문제 범위에 포함되지 않음.)
* 0! 은 1임.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = br.readLine();
int N = Integer.parseInt(str);
int count = 0;
while (N > 0) {
int num = N;
while (num % 5 == 0) {
count++;
num /= 5;
}
N--;
}
System.out.println(count);
}
}
728x90
'Algorithm' 카테고리의 다른 글
[백준-2559번/Java] 수열 (0) | 2022.11.15 |
---|---|
[백준-11659번/Java] 구간 합 구하기 4 (0) | 2022.11.14 |
[백준-2798번/Java] 블랙잭 (0) | 2022.11.14 |
[백준-18258번/Java] 큐 2 (0) | 2022.11.14 |
[백준-10845번/Java] 큐 (0) | 2022.11.14 |
Comments