백준|1676번|팩토리얼 0의 개수

JSK·2022년 7월 31일
0

자바 PS풀이

목록 보기
10/51

문제설명
숫자 N을 입력받고 N!에서 맨뒤에서부터 어느자리까지 0이 있는지 출력하는 문제입니다.

작동 순서
1. N을 입력받습니다.
2. 1부터 N까지에서 5의 개수를 구합니다.
3. 맨 뒷자리의 0의 개수는 2*5의 개수와 동일한데 2의 개수는 무조건 5보다 많으므로 구할 필요가 없으므로 5의 개수만 출력해줍니다.

소스코드

public class 백준_1676번_팩토리얼0의개수 {
    public static void main(String[] args) throws IOException {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        int N=Integer.parseInt(br.readLine());
        int five=0;
        for(int i=1;i<=N;i++){
            int num=i;
            while(num%5==0){
                num/=5;
                five++;
            }
        }
        System.out.print(five);
    }
}

후기
그렇게 어렵지는 않은 문제였습니다. 0이 생성되는 조건만 알게되면 굉장히 쉽게 풀수 있는 문제입니다. 다른 분들의 백준 풀이는 저보다 훨씬더 효율적으로 푸신 분들이 많이 보여는데 저도 많이 배우고 싶습니다.

profile
학사지만 AI하고 싶어요...

0개의 댓글