Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 7662
  • 백준 15312
  • 백준
  • 백준 12871
  • 백준 2225
  • 백준 24039
  • 백준 4659
  • Java
  • 백준 3049
  • 백준 1914
  • 백준 1747
  • 백준 1531
  • 백준 2343
  • 백준 2467
  • 백준 3135
  • 백준 16926
  • 백준 12605
  • 백준 15655
  • 백준 16194
  • 백준 10709
  • 백준 15961
  • 백준 1011
  • 백준 6550
  • 백준 14582
  • 백준 7567
  • 백준 1495
  • 백준 8892
  • 백준 1064
  • 백준 2591
  • 자바
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 1747 소수&펠린드롬(Java)
백준

백준 1747 소수&펠린드롬(Java)

2023. 2. 21. 19:28

https://www.acmicpc.net/problem/1747

 

1747번: 소수&팰린드롬

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

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 에라토스테네스의 채를 활용하여 먼저 소수를 골라낸 후 소수중에서 팰린드롬수인지 아닌지를 판별하여 n보다 큰 소수중 가장 작은 팰린드롬수를 출력하면 되는 문제입니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    
    boolean[] arr = new boolean[10000001];
    arr[0] = true;
    arr[1] = true;
    int n = sc.nextInt();
    
    for(int i = 2; i * i <= 10000000; i++) {
      for(int j = i * i; j <= 10000000; j+=i) arr[j] = true;
    }

    for(int i = n; i <= 10000000; i++) {
      if(arr[i] == false) {
        StringBuilder sb = new StringBuilder();
        sb.append(i);
        if(sb.toString().equals(sb.reverse().toString())) {
          System.out.print(sb);
          break;
        }
      }
    }

  }
}

'백준' 카테고리의 다른 글

백준 2535 아시아 정보올림피아드(Java)  (0) 2023.02.22
백준 3049 다각형의 대각선(Java)  (0) 2023.02.21
백준 10164 격자상의 경로(Java)  (0) 2023.02.21
백준 2343 기타 레슨(Java)  (0) 2023.02.21
백준 5555 반지(Java)  (0) 2023.02.21
    '백준' 카테고리의 다른 글
    • 백준 2535 아시아 정보올림피아드(Java)
    • 백준 3049 다각형의 대각선(Java)
    • 백준 10164 격자상의 경로(Java)
    • 백준 2343 기타 레슨(Java)
    Park DJ
    Park DJ

    티스토리툴바