Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 타입스크립트
- CSS
- error맛집
- 리액트
- 혼자공부하는머신러닝딥러닝
- 백준 #코딩테스트 #코테 #알고리즘
- 구조분해할당
- 에러해결방안
- 혼자공부하는머신러닝
- reactmemo
- 딥러닝
- axios
- typeScript
- 혼공단
- 초기값 설정하기
- 혼공챌린지
- Redux
- 코딩테스트
- styledcomonents
- 백준
- 알고리즘
- 머신러닝
- useEffect
- 백준 #코딩테스트
- REACT
- js
- 혼공머신
- 유니티 #게임개발
- clipboardapi
- TS
Archives
- Today
- Total
좌충우돌 개발자의 길
백준 알고리즘 | 4948번 (베르트랑 공준) | 파이썬 본문
4948번 (베르트랑 공준)*
- 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다.
- 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다.
- 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23)
- 자연수 n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오.
- 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스는 n을 포함하는 한 줄로 이루어져 있다.
- 입력의 마지막에는 0이 주어진다.
def prime_list(n):
sieve = [True]*n
m = int(n**0.5)
for i in range(2, m+1):
if sieve[i] == True:
for j in range(i+i, n, i):
sieve[j] = False
return [i for i in range(2, n) if sieve[i] == True]
while True:
n1 = int(input())
if n1 == 0:
break
total = prime_list(2*n1+1)
print(len([i for i in total if i > n1]))
해석
- 에라토스테네스의 체
- return [i for i in range(2, n) if sieve[i] == True] 에서 n-1(==2n1)까지 계산하기 위해서 total = prime_list(2n1+1) 이렇게 +1을 붙임
- 참고 사이트 : https://leedakyeong.tistory.com/entry/백준-4948번-베르트랑-공준-in-파이썬-쉽게-풀기
'CODING TEST > 백준' 카테고리의 다른 글
백준 알고리즘 | 1085번 (직사각형에서 탈출) | 파이썬 (0) | 2021.07.15 |
---|---|
백준 알고리즘 | 9020번 (골드바흐의 추축) | 파이썬 (0) | 2021.07.14 |
백준 알고리즘 | 1929번 (소수 구하기) | 파이썬 (0) | 2021.07.14 |
백준 알고리즘 | 11653번 (소인수분해) | 파이썬 (0) | 2021.07.14 |
백준 알고리즘 | 2581번 (소수) | 파이썬 (0) | 2021.07.14 |