Python에서 단순 소수 생성기 최적화
제공된 Python 코드는 소수 생성을 목표로 하지만 효율성을 위해 개선이 필요합니다.
원작 관련 문제 코드:
개선됨 코드:
import math def main(): count = 3 while True: isprime = True for x in range(2, math.ceil(math.sqrt(count)) + 1): if count % x == 0: isprime = False break if isprime: print(count) count += 1
설명:
Advanced Prime 생성:
보다 효율적인 소수 생성을 위해서는 에라토스테네스의 체를 권장합니다. 다음은 주석이 포함된 최적화된 Python 구현입니다.
def gen_primes(): D = {} q = 2 while True: if q not in D: yield q for later in range(q * q, 1000000, q): D[later] = [q] else: for later in range(q + D[q][0], 1000000, q): D.setdefault(later, []).append(q) del D[q] q += 1
위 내용은 Python에서 간단한 소수 생성기를 어떻게 최적화할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!