반응형
import math

b= 12
n = int(math.sqrt(b))+1

print(n)

정답: 4

 

 

 

 

 

 

 

 

구간에서의 소수 찾기

에라토스테네스의 체를 이용하면 쉽게 구할 수 있습니다.

codeup.kr

 

import math 

a, b = map(int, input().split())

array = [i for i in range(a, b+1)] 
array_T = [True for i in range(b+1)] # 처음 모든 수가 소수(True)로 초기화(0, 1 제외)

for i in range(2, int(math.sqrt(b))+1): # 2부터 n의 제곱근까지 모든 수를 확인

	# i가 소수인경우(False를 제외하고 남은 수인 경우)
    if array_T[i] == True:
    
 		# i를 제외한 i의 모든 배수를 지우기   
        j = 2 
        while i*j <= b:
            array_T[i*j] = False
            j+=1

# 모든 소수 출력
for i in range (a, b+1):
    if array_T[i]:
        print(str(array[i-a]), end=' ')

 

+ Recent posts