- 0
- 이니스프리
- 조회 수 443
소수를 구하는 알고리즘으로는 여러 방법이 있겠지만,
수학적으로나 공학적으로나 널리 사용되는 에라토스테네스의 체를 파이썬으로 간단히 구현해봤습니다.
1 2 3 4 5 6 7 8 9 10 11 12 | n = int ( input ()) a = [ 0 ] * (n + 1 ) # 0을 초기값으로 하는 배열을 생성합니다. cnt = 0 # 소수의 개수를 카운팅하는 변수입니다. for i in range ( 2 , n + 1 ): if a[i] = = 0 : cnt + = 1 for j in range (i, n + 1 , i): a[j] = 1 # i의 배수를 1로 변경합니다. print (cnt) |
아마도 보다 간명하고 퍼포먼스도 좋은 방법이 있을 것 같네요 ^^
작성자
댓글 0
권한이 없습니다.