Math_16_소수&팰린드롬(1747)
Math16소수&팰린드롬(1747)
문제
어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다.
어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다.
어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다.
출력
첫째 줄에 조건을 만족하는 수를 출력한다.
풀이
- 먼저 while 문을 이용해 N이 소수인지 아닌지 판별할 것이고
- 아니라면 N+1, 맞다면 팰린드드롬 수인지 확인한다
코드
import sys
sys.stdin = open("input.txt","rt")
import math
def input():
return sys.stdin.readline().rstrip()
def isPrime(x):
for i in range(2, int(math.sqrt(x)+1)):
if x % i == 0:
return False
return True
def isPalindrome(x):
strX = str(x)
for j in range(len(strX)//2):
if strX[j] != strX[-j -1]:
return False
else:
return True
if __name__ == "__main__":
N = int(input())
if N == 1:
N = N+1
while(True):
if isPrime(N):
if isPalindrome(N):
break
N = N+1
print(N)
배운 것
팰린드드롬 수라는게 있구나
코멘트
주의해야 했던 것이 n이 1일 경우이다. 이걸 생각 안해서 2차 시도 까지 틀림..
Author And Source
이 문제에 관하여(Math_16_소수&팰린드롬(1747)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@angel_eugnen/Math16소수팰린드롬1747저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)