1747번

seuls2·2023년 5월 20일
0

BOJ

목록 보기
39/55

1747

#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;

int prime[2000000];

void getPrime() {
    int max_num = 2000000;
    for(int i=2; i<=max_num; i++) {
        prime[i] = i;
    }

    for(int i=2; i<=sqrt(max_num); i++) {
        if(prime[i]==0) continue;

        for(int j=i+i; j<=max_num; j+=i) {
            prime[j] = 0;
        }
    }
}

bool checkNumber(int num) {
    string n = to_string(num);
    string a, b;
    if(n.length() % 2 ==0) {
        a = n.substr(0,n.length()/2);
        b = n.substr(n.length()/2,n.length());
    } else {
        a = n.substr(0,n.length()/2);
        b = n.substr(n.length()/2+1,n.length());
    }
    reverse(a.begin(),a.end());

    if(a==b) {
        return true;
    }
    else {
        return false;
    }
}

int main() {
    int n;
    cin>>n;
    getPrime();
    while(true) {
        if(prime[n] !=0 && checkNumber(n)) {
            cout<<n;
            break;
        } else {
            n++;
        }
    }
}
profile
공부 기록용 ( ᵕ·̮ᵕ )♩

0개의 댓글