전공공부
[BOJ_1990] 소수인 팰린드롬 본문
설명
에리스토테네스의 체를 활용하고 이때 팰린드롬을 확인 하기 위해서 각 소수에 대해서 거꾸로 돌려서 같은지 체크한다.
코드
package Math;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BOJ_1990 {
static boolean [] isPrime;
public static void main(String[] args) throws Exception{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer tk = new StringTokenizer(in.readLine()," ");
int a = Integer.parseInt(tk.nextToken());
int b = Integer.parseInt(tk.nextToken());
isPrime = new boolean[b + 1];
getPrime();
getAns(a);
System.out.println(-1);
}
private static void getPrime() {
for (int i = 2; i < isPrime.length; i++) {
isPrime[i] = true;
}
for (int i = 2; i * i < isPrime.length; i++) {
if (isPrime[i]) {
for (int j = i * i; j < isPrime.length; j += i) {
isPrime[j] = false;
}
}
}
}
private static void getAns(int a){
StringBuffer sb = new StringBuffer();
for (int i = a; i < isPrime.length; i++){
if(isPrime[i] == true){
sb.append(i);
if(sb.reverse().toString().equals(String.valueOf(i))){
System.out.println(i);
}
sb = new StringBuffer();
}
}
}
}
1990번: 소수인팰린드롬
151은 소수이면서 동시에 팰린드롬이기 때문에 소수인 팰린드롬이다. 팰린드롬이란 앞으로 읽어나 뒤로 읽으나 같은 수를 말한다. 예를 들어 1234는 앞으로 읽으면 1234지만, 뒤로 읽으면 4321이 되
www.acmicpc.net
'Study > Problem Solving' 카테고리의 다른 글
[BOJ_3343] 장미 (0) | 2023.12.07 |
---|---|
[BOJ_2436] 공약수 (1) | 2023.12.05 |
[BOJ_1669] 멍멍이 쓰다듬기 (1) | 2023.12.03 |
[BOJ_1456] 거의 소수 (2) | 2023.12.02 |
[BOJ_2824] 최대공약수 (1) | 2023.12.01 |