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
- python기초
- 파이썬 알고리즘 인터뷰
- Git
- 인텔리제이
- 도커
- git기초
- DP
- c언어
- 1주차(1)
- 스택
- 백준
- python자료형
- 운체 1주차
- #코린이 #코딩 #할 수 있다
- 4장
- c언어 기본
- 코테
- c언어 제어문
- Workbench
- 코딩테스트
- git오류
- python기본
- 자료구조
- 최단거리
- 인스타
- 참고X
- 5장
- git 오류
- 그리디
- 데베시 1주차
Archives
- Today
- Total
하루살이 개발자
[BaekJoon 4948번] 베르트랑 공준(Python) 본문
베르트랑 공준 문제입니다.
문제링크: https://www.acmicpc.net/problem/4948
풀이
소수 찾는 알고리즘인 에라토스테네스의 채 알고리즘 이용
Code
# 소수 찾는 알고리즘(에라토스테네스의 체)
def prime_list(n):
# 에라토스테네스의 체 초기화: n개 요소에 True 설정(소수로 간주)
sieve = [True] * n
m = int(n ** 0.5)
for i in range(2, m + 1):
if sieve[i] == True: # i가 소수인 경우
for j in range(i+i, n, i): # i이후 i의 배수들을 False 판정
sieve[j] = False
# 소수 목록 산출
return [i for i in range(2, n) if sieve[i] == True]
while True:
count = 0
result = []
n = int(input())
if n == 0:
break
# 2* n 까지 소수만 구하기
li = prime_list(2 * n+ 1)
for i in li:
if i > n:
result.append(i)
print(len(result))
'코딩테스트' 카테고리의 다른 글
[BaekJoon 1260번] DFS와 BFS 문제(Python) (0) | 2022.02.23 |
---|---|
[BaekJoon 9020번] 골드바흐의 추측 문제(Python) (0) | 2022.02.20 |
[BaekJoon 1717번] 집합의 표현 문제(Python) (0) | 2022.02.20 |
[코딩테스트] 5. 다이나믹 프로그래밍(2) - 문풀 (0) | 2022.02.16 |
[코딩테스트] 5. 다이나믹 프로그래밍(1) - 개념 (0) | 2022.02.16 |