728x90
백준 1747 소수&팰린드롬
문제
어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다.
어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다.
출력
첫째 줄에 조건을 만족하는 수를 출력한다.
제출
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] A = new int[10000001];
for (int i = 2; i < A.length; i++) {
A[i] = i;
}
for (int i = 2; i < Math.sqrt(A.length); i++) {
if (A[i] == 0) {
continue;
}
for (int j = i + i; j < A.length; j = j + i) {
A[j] = 0;
}
}
int i = N;
while (true) {
if (A[i] != 0) {
int result = A[i];
if (isPalindrome(result)) {
System.out.println(result);
break;
}
}
i++;
}
}
private static boolean isPalindrome(int target)
{
char temp[] = String.valueOf(target).toCharArray();
int s = 0;
int e = temp.length -1;
while (s < e) {
if (temp[s] != temp[e])
return false;
s++;
e--;
}
return true;
}
}
예제
31
결과
728x90
'JAVA > 백준' 카테고리의 다른 글
[Java] 백준 11689 GCD(n, k) = 1 - 오일러 피 (0) | 2022.11.23 |
---|---|
[Java] 백준 1016 제곱ㄴㄴ수 - 소수 구하기(4) (0) | 2022.11.22 |
[Java] 백준 1456 거의 소수 - 소수 구하기(2) (0) | 2022.11.20 |
[Java] 백준 1929 소수 구하기 - 소수 구하기(1) (0) | 2022.11.19 |
[Java] 백준 1541 잃어버린 괄호 - 그리디 알고리즘(5) (0) | 2022.11.18 |
댓글