素数的高效算法

来做这个简单素数问题

关于素数,想必大家都做过吧,又有多少人为求素数问题超时而烦恼,今天我给大家总结出来一个求素数的高效算法,希望能帮助大家尽早点走出来这个超时的烦恼。

关于素数我们应该知道,一个数它是素数,它的倍数就一定不是素数吧,类如3是素数,对应的6,9,12都不是素数,通过这个思想来解决大家的烦恼

n=int(input()) #输入从0到n的的个数
count=0  #这个来计算素数的个数
a=[True]*(n+1)   #这是来判断是否是素数
b=[]       #这是存放素数
for i in range(2,n+1):
    if a[i]:
       count+=1
       b.append(i)
       for j in range(i*2,n+1,i):  #相当于6,9,12等
           a[j]=False    #将其不是素数用False 标记
print(count)
print(b)
希望这一道题,能给你们带来更好的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值