[백준/BOJ] 백준 1747번 : 소수&팰린드롬
2022. 2. 5. 17:17ㆍ알고리즘 문제풀이
https://www.acmicpc.net/problem/1747
에라토스테네스의 체를 이용해 소수를 체크하고, 입력받은 n부터 숫자 확인해가며 팰린드롬이면서 소수인 수를 찾아서 문제를 해결했다
코드
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
int n;
int prime_check[2000001];
//에라토스테네스의 체를 이용해 소수인것을 1로 체크
void MakeCheck()
{
for (int i = 0; i <= 2000000; i++)
prime_check[i] = 1;
prime_check[0] = 0;
prime_check[1] = 0;
for (int i = 2; i <= 2000000; i++)
{
if (prime_check[i] == 1)
{
for (int j = i + i; j <= 2000000; j = j + i)
{
prime_check[j] = 0;
}
}
}
}
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
MakeCheck();
cin >> n;
while (1)
{
string string_n = to_string(n);
reverse(string_n.begin(), string_n.end());
if (prime_check[n] == 1 && (to_string(n) == string_n))
{
cout << n;
break;
}
n++;
}
return 0;
}
'알고리즘 문제풀이' 카테고리의 다른 글
[백준/BOJ] 백준 2843번 : 마블 (0) | 2022.02.06 |
---|---|
[백준/BOJ] 백준 1866번 : 택배 (0) | 2022.02.06 |
[백준/BOJ] 백준 15831번 : 준표의 조약돌 (0) | 2022.02.05 |
[백준/BOJ] 백준 1800번 : 인터넷 설치 (0) | 2022.02.05 |
[백준/BOJ] 백준 11658번 : 구간 합 구하기 3 (0) | 2022.02.05 |