관리 메뉴

솜씨좋은장씨

[BaekJoon] 4948번 : 베르트랑 공준 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 4948번 : 베르트랑 공준 (Python)

솜씨좋은장씨 2021. 6. 5. 00:49
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 베르트랑 공준 입니다.

 

4948번: 베르트랑 공준

베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼

www.acmicpc.net

Solution

def getPrimaryNum_Eratos(N):
    nums = [True] * (N)
    for i in range(2, int(N**0.5) + 1):
        if nums[i] == True:
            for j in range(i+i ,N, i):
                nums[j] = False
    return [i for i in range(2, N) if nums[i] == True]

while True:
    N = int(input())
    
    if N == 0:
        break
    prime_list = getPrimaryNum_Eratos(2*N + 1)
    answer_list = [num for num in prime_list if num > N]
    print(len(answer_list))
 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments