python实现素数计算原理

六月ゝ 毕业季﹏ 提交于 2019-11-27 12:43:14

##代码如下:
count=2 ##1和2为质数,所以初始值为2.
import datetime
start=datetime.datetime.now()
for n in range(3,100000,2): ##从3开始+2,跳过偶数,减少一半计算量
for i in range(2,int(n**0.5)+1):
if not n%i:
break
else:
count+=1
D=(datetime.datetime.now()-start).total_seconds()
print(D)
print(count)
##由上可计算出10000里的质数数量以及计算时间。另外,合数定理:如果一个数不是素数且不等于1,那么它的最小质因数小于它的平方根,用反证法可以证明一下。假设x是n的最小质因数,则存在n/x=p。p>x,xp=n。如果x不小于等于它的平方根,则xx>n,而p>x,故x*p>n,假设不成立。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!