• 목록
  • 아래로
  • 위로

소수를 구하는 알고리즘으로는 여러 방법이 있겠지만,


수학적으로나 공학적으로나 널리 사용되는 에라토스테네스의 체를 파이썬으로 간단히 구현해봤습니다.


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)


아마도 보다 간명하고 퍼포먼스도 좋은 방법이 있을 것 같네요 ^^


작성자
이니스프리 110 Lv. (25%) 972490/985680EXP

당분간 일신상의 사정으로 쪽지나 댓글로 답변을 드리기 어렵습니다. 죄송합니다.

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
352 [Python] 다중 list comprehension 이니스프리 이니스프리 20.02.14.13:08 120
351 [Python] 10진수를 n진수로 변환하기 이니스프리 이니스프리 20.02.14.01:23 417
350 [Python] 스도쿠의 정오를 확인하는 함수 이니스프리 이니스프리 20.02.13.15:28 102
349 [Python] 최소공배수 구하기 이니스프리 이니스프리 20.02.12.00:11 221
348 [Python] 문자열에서 숫자만 뽑아서 정수로 반환하는 함수 이니스프리 이니스프리 20.02.12.00:01 113
347 [Python] 2020년 5급 신임관리자 교육과정에 파이썬 도입! image 이니스프리 이니스프리 20.02.11.23:48 111
346 [Python] 회문(Palindrome) 여부를 확인하는 함수 이니스프리 이니스프리 20.02.11.23:32 160
345 [Python] 수를 뒤집는 두 가지 방법 3 이니스프리 이니스프리 20.02.11.22:24 132
[Python] 에라토스테네스의 체 이니스프리 이니스프리 20.02.10.23:33 226
343 [Python] 이차원 리스트에서의 다중조건 정렬 이니스프리 이니스프리 20.02.08.23:00 1056
342 [Requests] 한 번의 POST 전송으로 여러 개의 파일을 업로드하는 방법 이니스프리 이니스프리 20.02.06.21:23 321
341 [Python] 지난 일요일 날짜 구하기 이니스프리 이니스프리 20.02.04.20:33 307
340 [파이썬] 딕셔너리의 키/값으로 정렬하기 이니스프리 이니스프리 20.02.02.23:25 176
339 [IPVanish] 809 에러 해결방법 이니스프리 이니스프리 20.02.02.17:10 153
338 Matrix DAC 발열 문제 이니스프리 이니스프리 20.01.31.12:34 115
337 JLPT 성적표 및 합격증 수령 주소 변경 이니스프리 이니스프리 20.01.29.21:51 118
336 Apple ID 미국 계정 만들기 및 로그인 실패시 해결방법(?) 이니스프리 이니스프리 20.01.26.20:14 155
335 더현대닷컴 vs Hmall의 차이 이니스프리 이니스프리 20.01.26.20:10 688
334 다이소 스마트폰 유심 커터기 관련 4 이니스프리 이니스프리 20.01.22.17:15 470
333 텔레그램 비밀대화의 스크린캡쳐 방지기능 이니스프리 이니스프리 20.01.20.23:44 3387