향상된 논리를 갖춘 Python의 간단한 소수 생성기
주어진 코드는 소수 생성을 목표로 하지만 문제가 발생합니다. 다음은 문제에 대한 자세한 설명과 개선된 수정 코드입니다.
문제 및 해결 방법:
수정된 Python 스크립트는 다음과 같습니다.
import math def main(): count = 3 while True: isprime = True for x in range(2, int(math.sqrt(count) + 1)): if count % x == 0: isprime = False break if isprime: print(count) count += 1
최적화된 에라토스테네스의 체:
def gen_primes(): D = {} q = 2 while True: if q not in D: yield q D[q * q] = [q] else: for p in D[q]: D.setdefault(p + q, []).append(p) del D[q] q += 1
위 내용은 Python에서 어떻게 효율적으로 소수를 생성할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!