honey_pot
[python] 소수 찾기 본문
def solution(n):
# 소수로 간주 n개 True
sieve = [True] * (n+1)
# n의 최대 약수 sqrt(n) -> i=sqrt(n)까지 for문
m = int(n **0.5)
for i in range(2, m+1):
if sieve[i] == True: # i가 소수인 경우
for j in range(i+i,n+1,i): # i이후 i의 배수들 False 판정
sieve[j] = False
return len([i for i in range(2, n+1) if sieve[i] == True])
'문제 풀이' 카테고리의 다른 글
[python] 나누어 떨어지는 숫자 배열 (0) | 2021.07.19 |
---|---|
[python] 문자열 내 마음대로 정렬하기 (0) | 2021.07.19 |
[Python] 문자열 내 p와 y의 개수 (0) | 2021.07.01 |
[Python] 문자열 내림차순으로 배치하기 (0) | 2021.07.01 |
[Python] 같은 숫자는 싫어 (0) | 2021.07.01 |
Comments