풀이
1.소수를 구하는 함수를 만든다.
2.n< i <= 2n 의 범위 안에서 소수를 찾으면 count +=1 을 해준다.
3.count를 출력한다.
import math
def num(n): # 소수구하는 함수 num
if n == 1: # 1은 소수가 아님.
return False
else: #제곱근이 있는 수 중에
for i in range(2,int(math.sqrt(n))+1):
if n % i == 0: #약수가 있으면 false
return False
return True
all_list = list(range(2, 246912)) #문제에서 제한한 범위
save_list = [] #빈 리스트 생성
for i in all_list: #2부터 2*123,456범위에
if num(i): #num 함수에 해당하면
save_list.append(i) #리스트에 추가
n = int(input()) #입력받은 정수 n
while True:
count = 0 #소수의 개수
if n == 0 : #0이 입력되면 종료
break
for i in save_list: #save_list에 저장된 소수들 중,
if n < i <= n*2: #입력한 값의 범위 내에서 값이 있으면
count += 1 #있을 때 마다 카운트 +1
print(count)
n = int(input()) #0 입력받기 전까지 계속 해야하므로