Python으로 구현한 1747번 소수&팰린드롬 문제 풀이입니다.
https://www.acmicpc.net/problem/1747
import math
def isPrime(x) :
for i in range(2, int(math.sqrt(x) + 1)) :
if x % i == 0 :
return False
return True
n = int(input())
min_value = 0
for i in range(n, 1000001) :
if i == 1 :
continue
if str(i) == str(i)[::-1] :
if isPrime(i) :
min_value = i
break
if min_value == 0 :
min_value = 1003001
print(min_value)
입력받은 n부터 1000000까지 수를 확인하여 그 값이 1이라면 소수가 아니기 때문에 넘어가고,
팰린드롬 수일 경우 isPrime( ) 함수를 통해 소수인지 판별한다. 해당 수가 소수일 경우 min_value에 그 값을 넣고 종료한다.
최종적으로 min_value의 값이 0일 경우 입력된 n값이 1,000,000이기 때문에 1,000,000 이상의 수 중
소수이면서 팰림드롬일 경우를 적용하여 출력한다.
'백준(Python) 풀이 > 수학' 카테고리의 다른 글
백준(Python) 9295번 주사위 풀이 (0) | 2021.10.30 |
---|---|
백준(Python) 10822번 더하기 풀이 (0) | 2021.10.30 |
백준(Python) 5355번 화성 수학 풀이 (0) | 2021.10.30 |
백준(Python) 9610번 사분면 풀이 (0) | 2021.10.27 |
백준(Python) 1568번 새 풀이 (0) | 2021.10.27 |