[백준] 1676. 팩토리얼 0의 개수(java)

Sueee·2023년 1월 18일
0

Baekjoon

목록 보기
4/7
post-thumbnail

문제 링크

📝 문제

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

입력

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

출력

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

💡 Solution

  • 5의 배수 마다 0의 개수가 1씩 늘어나는데 n제곱근의 경우 n씩 늘어난다.
  • 팩토리얼을 계산 할 때 계산되는 값dl 5의 배수일 경우 그 값에 포함된 5의 배수의 지수만큼 더해진다.

🔑 code

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int answer = 0;
        
		for (int i = 1; i <= n; i++) {
			int temp = i;
			while (temp % 5 == 0) { //5의 배수이면 0이 하나씩 증가 n제곱근이면 n 만큼 수 추가
				answer++;
				temp /= 5;
			}
		}
		System.out.println(answer);
	}
}

📚알고리즘 분류

임의 정밀도 / 큰 수 연산(arbitrary_precision), 수학(math)

profile
천재가될거야

0개의 댓글