파이썬 알고리즘 설계 - 에라토스테네스 체 방법

Python 알고리즘 설계 소스 코드: https://github.com/MakerChen66/Python3Algorithm

저작권 진술: 독창성은 쉽지 않습니다. 이 문서는 표절, 전재를 금지하며 침해에 대해 조사해야 합니다!

에라토스테네스의 체

에라토스테네스의 체질 방법은 매우 아름다운 예제 알고리즘입니다

i7 CPU(단일 스레드) 프로세서에서는 1초 이내에 10^6 이내의 모든 소수를 생성할 수 있으므로 이 체질 알고리즘을 적용하면 속도가 놀랍고

가장 기본적인 것을 사용했습니다. 버전(분할하지 않음), 배열

Python 알고리즘 구현 에서 짝수를 삭제하기만 하면 됩니다 .


import numpy as np

def eratosthene(n):
    n = (n + 1) >> 1
    a = np.ones(n, dtype=np.int64)
    i, j = 1, 3

    while i < n:
        if a[i]:
            a[j * j >> 1::j] = 0
        i, j = i + 1, j + 2

    print(a.sum())

시험을 치르다:

eratosthene(1000000)

참고 : np.ones(a, dtype=...)는 현재 데이터 a를 모두 1의 배열로 변환하는 것을 의미하고 데이터 유형은 dtype=..., a[i::j]는 배열을 가져오는 것을 의미합니다. a 위치 i에서 마지막 위치까지 j번째 요소마다 하나씩 가져옴

출력 결과:
여기에 이미지 설명 삽입
1000000 안에 78498개의 소수가 있음을 나타냅니다.

2. 소스코드 다운로드

Python 알고리즘 설계 소스 코드 다운로드:

3. 저자 정보

저자: Xiaohong's Fishing Daily, 목표: 프로그래밍을 더 흥미롭게 만드세요!

원본 WeChat 공개 계정: " Xiaohong Xingkong Technology ", 알고리즘, 크롤러, 웹사이트, 게임 개발, 데이터 분석, 자연어 처리, AI 등에 중점을 두고 여러분의 관심을 기대하며 함께 성장하고 코딩합시다!

저작권 참고: 이 기사는 표절 및 전재를 금지하며 침해 시 조사를 받아야 합니다!

Supongo que te gusta

Origin blog.csdn.net/qq_44000141/article/details/122093830
Recomendado
Clasificación