37,719
社区成员
发帖
与我相关
我的任务
分享
#!/usr/bin/python
# encoding: utf-8
import itertools
import time
N = 2000000
def clear(aPrime,aList,maxNum):
for i in xrange(aPrime, maxNum, aPrime):
aList[i]=0
def allPrime(maxNum):
aList = range(0,maxNum)
prime = []
for i in xrange(2,len(aList)):
if aList[i] != 0:
prime.append(aList[i])
clear(aList[i],aList,maxNum)
return prime
t0 = time.time()
primelist = allPrime(N)
t1 = time.time()
print len(primelist ),
print '[%s .. %s]' %(
','.join(map(str,
primelist [:10])),
','.join(map(str,
primelist [-10:])),
)
print "Process usage", t1-t0
#~ >python -u "baidu.py"
#~ 148933 [2,3,5,7,11,13,17,19,23,29 .. 1999853,1999859,1999867,1999871,1999889,1999891,1999957,1999969,1999979,1999993]
#~ Process usage 1.31931495667
#~ >Exit code: 0 Time: 1.449