Problem Solving/Baekjoon
[백준] 2061 좋은 암호 - Brute Force / Java
graycode
2024. 11. 13. 16:21
• 문제 링크
https://www.acmicpc.net/problem/2061
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.math.BigInteger;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = find(new BigInteger(st.nextToken()), Integer.parseInt(st.nextToken()));
bw.write(n == 0 ? "GOOD" : "BAD " + n);
bw.flush();
}
private static int find(BigInteger k, int l) {
boolean[] p = new boolean[l + 1];
for (int i = 2; i < l; i++) {
if (p[i]) continue;
if (k.mod(BigInteger.valueOf(i)).equals(BigInteger.ZERO)) return i;
for (int j = i + i; j <= l; j += i) p[j] = true;
}
return 0;
}
}