Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

main

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

Algorithm

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

1984 2022. 11. 14. 21:43

* 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