본문 바로가기
Algorithm/baekjoon

baekjoon 4948: 베르트랑 공준

by 갈잃자 2022. 8. 31.

https://www.acmicpc.net/problem/4948

 

4948번: 베르트랑 공준

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

www.acmicpc.net


에라토스테네스의 체 를 사용하여 주어진 값의 최대값까지의 소수를 찾고, 구간을 정해 소수가 몇개가 나오는지 확인하는 문제이다.

 

 

arr = []

# 입력
while 1:
    n = int(input())
    arr.append(n)
    if n ==0:
        break

# 에라토스테네스의 체 를 사용하여 소수를 찾음
Max=max(arr) *2
check = [0] * (Max +1)

for i in range(2,Max+1):
    # if not check[i]:
    #     pass
    for j in range(i+i, Max +1, i):
        check[j] = 1


for i in range(len(arr)):
    if arr[i] ==0:
        break
    cnt = 0
    st=arr[i] +1
    ed = arr[i]*2 +1

    for j in range(st,ed):

        if check[j]  ==1:
            continue
        else:
            cnt+=1
    print(cnt)

'Algorithm > baekjoon' 카테고리의 다른 글

[파이썬]baekjoon 1436: 영화감독 숌  (0) 2022.12.12
baekjoon 6588: 골드바흐의 추측  (1) 2022.09.13
baekjoon 1929: 소수 구하기  (0) 2022.08.25
baekjoon 2581: 소수  (0) 2022.08.23
baekjoon 1978: 소수 찾기  (0) 2022.08.21

댓글