https://www.acmicpc.net/problem/4948
4948번: 베르트랑 공준
베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼
www.acmicpc.net
풀이
문제를 보았을때 알수있는 힌트
소수!-> 소수 문제는 에라토스테네스의 체 문제라는 것을 인지해두자
그냥 for문으로 풀면 시간초과가 나오니 에라토스테네스의 체로 소수를 찾고 문제를 풀면 쉽게 풀 수 잇는 문제이다.
import sys
input = sys.stdin.readline
while True:
n = int(input())
if n==0: # 종료 시키기
break
n_list=[False,False]+[True]*(2*n)
result=[1]
for i in range(2,(2*n)+1):
if n_list[i]:
result.append(i)
for j in range(2*i,(2*n)+1,i):
n_list[j]=False
filteredList = [x for x in result if x>n]
# print(filteredList)
print(len(filteredList))
https://github.com/dydwkd486/coding_test/blob/main/baekjoon/baekjoon4948.py
'Coding Test > baekjoon' 카테고리의 다른 글
[백준 1780] 종이의 개수 - python (solved.ac - 실버 2) (0) | 2022.01.18 |
---|---|
[백준 1929] 소수 구하기 - python (solved.ac - 실버 2) (0) | 2022.01.16 |
[백준 11047] 동전 0 - python (solved.ac - 실버 2) (0) | 2022.01.13 |
[백준 11725] 점프 점프 - python (solved.ac - 실버 2) (0) | 2022.01.12 |
[백준 11725] 트리의 부모 찾기 - python (solved.ac - 실버 2) (0) | 2022.01.11 |