[백준4948파이썬(python)] - 베르트랑 공준
문제
sol
import sys
def is_prime(n, m):
arr = [True] * (n+1)
for i in range(2, int(n ** 0.5)+1):
if arr[i] == True:
for j in range(i+i, n+1, i):
arr[j] = False
a = [i for i in range(m+1, n+1) if arr[i]]
return a
arr = []
while True:
a = int(sys.stdin.readline())
arr.append(a)
if(a == 0):
arr.pop()
break
for i in arr:
print(len(is_prime(2*i, i)))
풀이
한 줄씩 입력받아서, 범위를 지정해준뒤 소수 구하기에서 사용했던 에라토스테네스의 체를 사용하면된다.
참고
Author And Source
이 문제에 관하여([백준4948파이썬(python)] - 베르트랑 공준), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chestnut1044/백준4948파이썬python-베르트랑-공준저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)