728x90
https://www.acmicpc.net/problem/1747
1747번: 소수&팰린드롬
어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고,
www.acmicpc.net
while문을 돌면서 N보다 크거나 같은 수를 팰린드롬인지 소수인지 체크해주고 맞다면 바로 나와서 값을 출력하면 된다.
시간제한이 2초라서 for문으로 돌리면서 소수를 찾아도 충분하다..
#include <iostream>
#include <algorithm>
using namespace std;
bool isPrime(int n){
if(n == 1) return false;
for(int i=2; i<n; i++){
if(n % i == 0) return false;
}
return true;
}
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n;
cin >> n;
while(1){
string s = to_string(n);
bool flag = false;
for(int i=0; i<s.size()/2; i++){
if(s[i] != s[s.size()-1-i]) {
flag = true;
break; //팰린드롬아님
}
}
if(!flag && isPrime(n)){
cout << n << '\n';
break;
}
n++;
}
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준/c++] 2661번: 좋은수열 (0) | 2022.07.26 |
---|---|
[백준/c++] 3649번: 로봇 프로젝트 (0) | 2022.07.26 |
[백준/c++] 1946번: 신입 사원 (0) | 2022.07.25 |
[백준/c++] 2529번: 부등호 (0) | 2022.07.25 |
[백준/c++] 1449번: 수리공 항승 (0) | 2022.07.25 |