Java/Java 알고리즘

백준 1676번 팩토리얼 0의 개수 JAVA 구현해보기

kimc 2022. 1. 19. 23:15

```

백준 1676번 팩토리얼 0의 개수 JAVA 구현해보기

```

이번 글을 통해 배워갈 내용

  1.  백준 1676번 풀이

https://www.acmicpc.net/problem/1676

 

1676번: 팩토리얼 0의 개수

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

 

백준 1676번 팩토리얼 0의 개수는 난이도 실버 등급의 문제로서

 

N! 에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하면 되는 문제이다.

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


 

 

 

알고 보면 쉬운 문제이고

 

뒤에 있는 0은 10의 배수로서

5와 2의 배수를 곱하면 되고

5가 나올 때는 앞에 2가 있기 때문에

5의 배수만 몇 번 나오는지 구하면 되는 간단한 문제입니다.

 

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int inputNum = Integer.parseInt(br.readLine());
        int sum = 0;

        for (int i = 1; i <= inputNum; i++) {
            int curNum = i;
            while (true) {
                if (curNum != 0 && curNum % 5 == 0) {
                    curNum = curNum / 5;
                    sum++;
                } else {
                    break;
                }
            }
        }


        System.out.println(sum);


    }
}

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 


 

728x90