에라토스테네스의 체: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Vtable7 (토론 | 기여)
잔글 코드 정리
Vtable7 (토론 | 기여)
파이썬 코드 로직 오류 수정, 코드 개선
100번째 줄:
<source lang="python3">
def prime_sum(n):
if n < 2: return
# n크기의 에라토스테네스 채 초기화
sieve = [True] * n # 요소 모두 True 설정(소수로 간주)
sieve[0] = sieve[1] = False # 0,1은 False설정(소수 아님 판정)
m = int(n ** 0.5 + 0.5) # halfup_round(sqrt(n))
 
primesfor =i [True]in *range(m n+ 1):
primes[0], primes[1] = if sieve[Nonei] *== 2False:
sum = 0 continue
for j in range(i*i, n, i): # 소수 i의 배수들을 False 판정
for ind, val in enumerate(primes):
if val is True andsieve[j] ind= > n ** 0.5 + 1:False
 
sum += ind
# 소수 목록 산출 elif val합을 is True:출력
primes = [i for i in range(n) if primessieve[ind * 2::indi] == [FalseTrue] * (((n - 1) // ind) - 1)
print(sum(primes))
print(sum) #n보다 작은 소수의 합을 출력
 
</source>