코딩/백준

[백준/파이썬/브루트포스] 1747번 소수&팰린드롬 코딩테스트 연습풀이

thisisjade 2022. 8. 15. 20:39
728x90

문제 출처: https://www.acmicpc.net/problem/1747

 

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이 주어진다.

 

출력

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

 

정답

num = int(input())
    
while 1:
    if num ==1:
        print(2)
        break

    if str(num) == str(num)[::-1]:
        pass
    else:
        num+=1
        continue

    check = True
    for i in range(2, int(num ** 0.5)+1):
        if num % i == 0:
            check = False
            break

    if check:
        print(num)
        break
    else:
        num+=1

 

팰린드롬수인지 먼저 확인 하고 맞다면 소수인지 확인 후 소수라면 출력하고 while문을 정지합니다.

728x90