녕의 학습 기록

백준_1747 소수&팰린드롬 (에라토스테네스의 채) 본문

Algorithm/Algorithm 문제

백준_1747 소수&팰린드롬 (에라토스테네스의 채)

kjyyjk 2024. 2. 3. 17:21

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BJ_1747_소수팰린드롬 {

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int i, j;
        int n = Integer.parseInt(br.readLine());

        int[] arr = new int[10000001];

        for (i=2; i<arr.length; i++) {
            arr[i] = i;
        }

        for (i=2; i<=Math.sqrt(arr.length); i++) {
                if (arr[i]==0) {
                    continue;
                }

                for(j=2*i; j<arr.length; j+=i) {
                    arr[j]=0;
                }
        }

        int result = 0;
        for (i=n; i<arr.length; i++) {
            if(arr[i]==0) {
                continue;
            }

            if(check(arr[i])) {
                result = arr[i];
                break;
            }
        }

        System.out.println(new StringBuilder().append(result));

    }

    static boolean check(int num) {
        String s = Integer.toString(num);
        return s.equals(new StringBuilder(s).reverse().toString());
    }

}
 

1747번: 소수&팰린드롬

어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고,

www.acmicpc.net