栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

如何求解 n 以内所有的质数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何求解 n 以内所有的质数

项目场景:

python编码小模块


问题描述

如何快速获得 n 以内的所有质数

 


解决方案:

提示:遍历 [ True ] * (n+1) , 若非质数则变 False, 遍历结束后再输

from math import sqrt

def sieve_of_primes_up_to(n):
    sieve = [True] * (n + 1)
    for p in range(2, round(sqrt(n)) + 1):
        if sieve[p]:
            for i in range(p * p, n + 1, p):
                sieve[i] = False
    return sieve

def to_prime_numbers(n):
    sieve = sieve_of_primes_up_to(n)
    i = 0
    for each in sieve:
        if (each):
            print(i, end = " ")
        i+=1


# print(sieve_of_primes_up_to(8))
to_prime_numbers(8)

 输出:

0 1 2 3 5 7 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/961111.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号