-
728x90
문제가 이해가지 않아서 찾아봤던 문제다.ㅠㅠ
N!은 곱의 계산이 기 때문에,
결국 0의 개수는 10을 몇 번 곱하는지를 세라는 것이였다.- N!안에 존재하는 2*5(10)의 수를 세야 한다.
- 1 ~ N까지 for문을 돌면서, 그 안에 2와 5가 몇개 있는지
각각 while문을 돌면서 숫자를 세어 준다.- two와 five중 작은 수를 선택한다.(최소 만들 수 있는 10의 수)
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int N = sc.nextInt();int two = 0;int five = 0;for (int i = 1; i <= N; i++) {int n = i;while (n % 2 == 0) { // 2 개수 세기two++;n /= 2;}while (n % 5 == 0) { // 5 개수 세기five++;n /= 5;}}// 2와 5로 만들 수 있는 10의 개수System.out.println(five < two ? five : two);}}데롱디롱희희.. (๑′ᴗ‵๑)
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[1764] 백준 - 듣보잡(JAVA) (0) 2021.08.11 [1697] 백준 - 숨바꼭질(JAVA) (0) 2021.08.04 [1620] 백준 - 나는야 포켓몬 마스터 이다솜 (0) 2021.08.04 [1541] 백준 - 잃어버린 괄호(JAVA) (0) 2021.08.02 [1463] 백준 - 1로 만들기(JAVA) (0) 2021.08.02