[python] 소수 판별 (에라토스테네스의 체)

2021. 6. 3. 22:36Python/코딩

Ver. Jupyter Notebook (Anaconda3)

▶ 소수 판별 (에라토스테네스의 체)

 

코딩: github

 

JeongJaeyoung0/function

Contribute to JeongJaeyoung0/function development by creating an account on GitHub.

github.com

# 소수 판별
import math

def prime_number(n):
    t=[True for i in range(n+1)] # 모든 수 True로 전환
    
    # 에라토스테네스의 체 (소수를 찾는 방법)
    for i in range(2,int(math.sqrt(n))+1): # 2부터 n^2+1 까지만 확인
        if t[i]==True: # i가 소수인 경우
            a=2
            while i*a<=n:
                t[i*a]=False # i의 배수는 False
                a+=1
                
    return[i for i in range(2,n+1) if t[i]] # True 위치 값만 숫자로 return

print(prime_number(int(input())))

in: 20

Out: [2, 3, 5, 7, 11, 13, 17, 19]

'Python > 코딩' 카테고리의 다른 글

[python] crawler_google image(colab)  (0) 2021.07.08
[wordcloud] naver cafe_게시판 글 목록  (0) 2021.05.20
[crawler] naver cafe_게시판 글 목록  (0) 2021.05.19
[python] crawler_google image  (0) 2021.05.18
[crawler] youtube(selenium)  (1) 2021.05.17