728x90
https://www.acmicpc.net/problem/2023
2023번: 신기한 소수
수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수
www.acmicpc.net
뻗어 나가는 느낌으로 풀었다.
다양한 길이를 가져야 하기 때문에 함수를 이용해서 풀 수 있도록 하였다.
소수를 판정 할 때, 어차피 계산 한 부분은 안 할 거 같아서 굳이 에라토스테네스의 체를 쓰지는 않았다.
함수를 이용해서, 만약 길이가 N이라면 해당 수를 바로 출력하고 아니라면 뒤에 수를 계속 붙여주는 방법으로 풀었다.
어차피 앞 부분은 이미 소수일 테니까, 해당 수가 소수인지만 판별을 진행했다.
import sys
N = int(sys.stdin.readline().strip())
prime = [2, 3, 5, 7]
def is_prime(number):
for i in range(2, int(number ** 0.5) + 1):
if number % i == 0:
return False
return True
def wow_prime(cur_number):
if len(str(cur_number)) == N:
print(cur_number)
else:
for t in range(1, 10):
if t % 2 != 0 and is_prime(cur_number * 10 + t):
wow_prime(cur_number * 10 + t)
for i in prime:
wow_prime(i)
'알고리즘 > 정수론' 카테고리의 다른 글
백준 9020 골드바흐의 추측 (Python) (0) | 2024.03.02 |
---|---|
백준 4948 베르트랑 공준 (Python) (0) | 2024.03.02 |
백준 1476 날짜 계산 (Python) (0) | 2024.03.02 |