단계별풀기 - 기본수학2
# 4948 베르트랑 공준 (실버2)
- 각 테스트 케이스에 대해서, n보다 크고, 2n보다 작거나 같은 소수의 개수를 출력한다.
- point. 시간초과 에라토스테네스의 체 사용해서 소수 구하기
def isprime(m, n):
count = 0
prime = [True] * n # n개의 [True]가 있는 리스트 생성
for i in range(2, int(n ** 0.5) + 1): # n의 제곱근까지만 검사
if prime[i]: # prime[i]가 True일때
for j in range(2 * i, n, i): # prime 내 i의 배수들을 False로 변환
prime[j] = False
for i in range(m, n):
if i > 1 and prime[i] == True: # 1 이상이면서 남은 소수들을 출력
count+=1
return count
while True:
n = int(input())
n_count = 0
if n==0:
break
print(isprime(n+1,n*2+1)) # n< <=2n
반응형
'알고리즘 > baekjoon' 카테고리의 다른 글
20210125_코테공부 (0) | 2021.01.25 |
---|---|
20210122_코테공부 (0) | 2021.01.22 |
20210120_코테공부 (0) | 2021.01.20 |
20210119_코테공부 (0) | 2021.01.19 |
20210118_코테공부 (0) | 2021.01.15 |