石器時代的版本: import math l=[] for i in xrange(2, 100000): if any(i%x==0 for x in l if x<=math.sqrt(i)): continue else: print i l.append(i) # for p in l: # print p print "amount :", len(l) 可以自己選擇上限: import sys import math high = int(sys.argv[1]) if len(sys.argv)==2 else 10000 l=[] for i in xrange(2, 100000): if any(i%x==0 for x in l if x<=math.sqrt(i)): continue else: print i l.append(i) for p in l: print p print "amount:", len(l) 修改錯誤: import sys import math high = int(sys.argv[1]) if len(sys.argv)==2 else 10000 l=[] for i in xrange(2, 100000): if any(i%x==0 for x in l if x<=math.sqrt(i)): continue else: print i l.append(i) print "amount:", len(l) 篩法求素數 更多文章、技術交流、商務合作、聯系博主 微信掃碼或搜索:z360901061 微信掃一掃加我為好友 QQ號聯系: 360901061 您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。 【本文對您有幫助就好】元 2元 5元 10元 20元 自定義 喜歡作者