본문 바로가기
Develop/알고리즘

[백준/Python] Silver I #1747 소수&팰린드롬

by favorcat 2023. 8. 10.
반응형
 

1747번: 소수&팰린드롬

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

www.acmicpc.net

문제

어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다.

어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N이 주어진다.

출력

첫째 줄에 조건을 만족하는 수를 출력한다.

풀이

import math
import sys
input = sys.stdin.readline
n = int(input())

def is_prime_num(n):
  if n in [0, 1]:
      return False
  for i in range(2, int(math.sqrt(n))+1):
      if n % i == 0:
          return False
  return True

def is_palindrome(n):
  return str(n) == str(n)[::-1]

ans = 0
for i in range(n, 1000001):
  if is_palindrome(i) and is_prime_num(i):
    ans = i
    break
if ans == 0: ans = 1003001
print(ans)
반응형

Comment