python求素数代码_如何用Python计算质数-百度经验

#如果要计算时间,请添加一些代码(如下)

import time

start1 = time.time()

#方法1

for i in range(2,1000 + 1): #用变量i从2-1000循环(因为1不是质数,且比较特殊),作为要测试的数字,Python中是循环到目标数字减一的位置,所以给1000加1

n = 0 #设置变量n记录次数

for j in range(2,i): #用变量j从 数字2-变量i 循环,Python中是循环到目标数字减一的位置,正好是数字本身减一,所以无需i+1或i-1

if i % j != 0: #如果要测试的数字除以变量j有余数,就使次数n加1

n += 1

###

if n == i - 2:

# i-2表示变量i除了1和它自身外不能被其他自然数整除的次数,

# n是我们计算出来的次数,只要数字不能被变量j整除就记一次,这样就可以判断数字是否是质数

print(i,end = ',') #如果是质数,就输出,中间用“,”分开

end1 = time.time()

print('\n')

start2 = time.time()

#方法2

for i in range(2,1000 + 1): #用变量i从2-1000循环(因为1不是质数,且比较特殊),作为要测试的数字,Python中是循环到目标数字减一的位置,所以给1000加1

n = 0 #设置变量n记录是否是质数。如果最终n为1,就表示不是质数;如果n仍然为0,说明这个数字是质数

for j in range(2,i): #用变量j从 数字2-变量i 循环,Python中是循环到目标数字减一的位置,正好是数字本身减一,所以无需i+1或i-1

if i % j == 0: #如果要测试的数字除以变量j没有余数,就把n设为1,并退出循环,因为这样的数字一定不是质数

n = 1

break

if n == 0: #如果n仍为0,说明这个数字是质数

print(i,end = ',') #如果是质数,就输出,中间用“,”分开

end2 = time.time()

print('\n\n','方法1所用时间:',end1 - start1,'方法2所用时间:',end2 - start2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值