메모리: 31120 KB, 시간: 44 ms
수학, 정수론, 소수 판정, 에라토스테네스의 체
백준 온라인 저지의 송년대회 Good Bye BOJ, 2021!의 개최일은 2021년 12월 31일이다. 원이는 대회가 개최된다는 사실이 기뻐 제목을 뚫어져라 보다가 2021이 무언가 특별하다는 사실을 깨달았다.
그렇다. 2021은 연속한 두 소수 43과 47의 곱이다. 다음에 이런년도가 오려면 무려 470년 뒤인 2491년이 되어야 한다. 원이는 어떤 수가 연속한 두 소수의 곱으로 이루어져 있으면 특별한 수라 부르기로 하였다.
주어진 수보다 큰 특별한 수 중 가장 작은 수를 구하는 프로그램을 작성하시오.
첫 번째 줄에 주어진 수 N𝑁이 주어진다.
첫 번째 줄에 N𝑁보다 큰 특별한 수 중 가장 작은 수를 출력하여라.
코드
# 소수 구하기
n=10000
a = [False, False] + [True]*(n-1)
primes = []
for i in range(2, n+1):
if a[i]:
primes.append(i)
for j in range(2*i, n+1, i):
a[j] = False
N = int(input())
# 연속되는 수를 곱한 값이 N보다 클 경우
for i in range(len(primes)-1):
num = primes[i]*primes[i+1]
if N < num:
print(num)
break
'알고리즘 > 백준' 카테고리의 다른 글
[Silver IV] 덱 - 10866 (python) (0) | 2024.06.23 |
---|---|
[Silver V] 슈퍼 소수 - 31216 (python) (0) | 2024.06.23 |
[Silver III] 풍선 터뜨리기 - 2346 (python) (0) | 2024.06.23 |
[Silver II] 크로스워드 - 1706 (python) (0) | 2024.06.23 |
[Silver V] 카우버거 - 15720 (python) (0) | 2024.06.23 |