풀이방법
사용된 것:
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 |