求质数

start=datetime.datetime.now()
count=0
for i in range(2,1000):
    for j in range(2,i):
        if i%j==0:
            break
    else:
        #print(i)
        count+=1
end=(datetime.datetime.now()-start).total_seconds()
print(count,end)

168 0.015

优化除数

start=datetime.datetime.now()
count=0
for i in range(2,1000):
    for j in range(2,int(i**0.5+1)):
        if i%j==0:
            break
    else:
        #print(i)
        count+=1
end=(datetime.datetime.now()-start).total_seconds()
print(count,end)

168 0.004

排除偶数,除0,2外,所有偶数都是合数

2是偶数又是最小的质数,排除2,count+1

最小值取3,步数为2

start=datetime.datetime.now()
count=1
for i in range(3,1000,2):
    for j in range(3,int(i**0.5+1),2):
        if i%j==0:
            break
    else:
        #print(i)
        count+=1
end=(datetime.datetime.now()-start).total_seconds()
print(count,end)

168 0.002

 

相关文章:

  • 2021-04-10
  • 2021-05-02
  • 2020-10-07
  • 2021-07-30
  • 2021-08-19
  • 2021-08-21
猜你喜欢
  • 2022-12-23
  • 2021-09-20
  • 2021-06-07
  • 2021-07-16
  • 2021-11-07
相关资源
相似解决方案