代码1:
import datetime
n = 100000
pn = []
count = 0
start = datetime.datetime.now()
for x in range(2, n):
for i in pn:
count += 1
if x % i == 0:
break
else:
pn.append(x)
delta = (datetime.datetime.now() - start).total_seconds()
print(len(pn))
print(count)
print(delta)
运行结果:
9592
46314476
15.72954
代码2:
import math
import datetime
n = 100000
pn = []
flag = False
count = 0
start = datetime.datetime.now()
for x in range(2, n):
for i in pn:
count += 1
if x % i == 0:
flag = True
break
if i >= math.ceil(x**0.5):
flag = False
break
if not flag:
pn.append(x)
delta = (datetime.datetime.now() - start).total_seconds()
print(len(pn))
print(count)
print(delta)
运行结果:
9592
754026
0.916857