#如果要计算时间,请添加一些代码(如下)
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)