백준
백준 1747 소수&펠린드롬(Java)
Park DJ
2023. 2. 21. 19:28
https://www.acmicpc.net/problem/1747
1747번: 소수&팰린드롬
어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고,
www.acmicpc.net
해석 및 팁
이 문제는 에라토스테네스의 채를 활용하여 먼저 소수를 골라낸 후 소수중에서 팰린드롬수인지 아닌지를 판별하여 n보다 큰 소수중 가장 작은 팰린드롬수를 출력하면 되는 문제입니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean[] arr = new boolean[10000001];
arr[0] = true;
arr[1] = true;
int n = sc.nextInt();
for(int i = 2; i * i <= 10000000; i++) {
for(int j = i * i; j <= 10000000; j+=i) arr[j] = true;
}
for(int i = n; i <= 10000000; i++) {
if(arr[i] == false) {
StringBuilder sb = new StringBuilder();
sb.append(i);
if(sb.toString().equals(sb.reverse().toString())) {
System.out.print(sb);
break;
}
}
}
}
}