728x90
반응형
https://www.acmicpc.net/problem/1837
10의 100승까지 되는 엄청 큰 숫자를 다뤄야 하기 때문에
BigInteger을 사용한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
public class P1837 {
static boolean[] prime = new boolean[1000001];
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
BigInteger num = new BigInteger(st.nextToken());
int k = Integer.parseInt(st.nextToken());
for (int i = 2; i < 1000001; i++) {
prime[i] = true;
}
for (int i = 2; i < 1000001; i++) {
if (prime[i] == true) {
for (int j = i * 2; j < 1000001; j += i) {
prime[j] = false;
}
}
}
for (int i = 2; i < k; i++) {
if (prime[i] == false)
continue;
BigInteger now = new BigInteger(Integer.toString(i));
if (num.mod(now).compareTo(BigInteger.ZERO) == 0) {
System.out.println("BAD " + now);
return;
}
}
System.out.println("GOOD");
}
}
728x90
반응형
'코딩 > 백준-자바' 카테고리의 다른 글
[자바] 백준 11051번: 이항 계수2 (0) | 2023.02.02 |
---|---|
[자바] 백준 1644번: 소수의 연속합 (1) | 2023.02.01 |
[자바] 백준 6588번: 골드바흐의 추측 (0) | 2023.01.30 |
[자바] 백준 11653: 소인수분해 (0) | 2023.01.30 |
[자바] 1735번: 분수 합 (0) | 2023.01.30 |
댓글