Algorithm/Baekjoon Online Judge

[Java] 백준 1676 팩토리얼 0의 개수 실버5

제우제우 2024. 5. 5. 12:38

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

문제

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

 

입력

첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)

출력

첫째 줄에 구한 0의 개수를 출력한다.

정답 코드 

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        long cur = 1;
        int cnt = 0;
        for (int i = 1; i <= n; i++) {
            cur *= i;
            while (cur % 10 == 0){
                cnt++;
                cur /= 10;
            }
            cur %= 1000;
        }
        System.out.println(cnt);
    }
}