알고리즘 문제풀이/백준

#1676 : 팩토리얼 0의 개수

모항 2022. 3. 31. 02:18

풀이방법

사용된 것:

BigInteger

 

2022.03.31

매우 큰 숫자를 다룰 때 사용하는 BigInteger 클래스를 이용하거나,

$n!$의 인수를 활용해 0의 개수를 세면 풀 수 있는 문제이다.

아래는 BigInteger 클래스를 사용한 정답 코드이다.

 

코드

Java(2022.03.31)

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

public class Main {

	public static void main(String[] args) throws IOException{
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		//n 읽어오기
		int n = Integer.parseInt(br.readLine());
		//n! 구하기
		BigInteger fact = BigInteger.ONE;
		for(int i = 2; i<=n; i++) {
			fact = fact.multiply(BigInteger.valueOf(i));
		}
		//0의 개수 세기
		String str = fact.toString();
		int cnt = 0;
		for(int i = str.length() -1; i>=0; i--) {
			if(str.charAt(i) == '0') cnt++;
			else break;
		}
		//정답 출력
		System.out.print(cnt);

	}

}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

#9656 : 돌 게임 2  (0) 2022.04.04
#2941 : 크로아티아 알파벳  (0) 2022.04.02
#9251 : LCS  (0) 2022.03.30
#2294 : 동전 2  (0) 2022.03.30
#1110 : 더하기 사이클  (0) 2022.03.29