日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python求小于n的所有素数_用python求出2000000内所有素数的和?不知怎么写?

發布時間:2023/12/13 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python求小于n的所有素数_用python求出2000000内所有素数的和?不知怎么写? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

展開全部

import itertools

import time

N = 2000000

L = range(N)

def findnxt(s):

flag = 0

for n in itertools.ifilter(None, L[s+1:]):

return n

t0 = time.time()

n = 2

X = int(N ** .5)

while n < X:

for i, x in enumerate(L[::n][1:]):

if i==0: continue

L[x] = 0

n = findnxt(n)

t1 = time.time()

print "Process usage", t1-t0

l = filter(None, L)

print len(l)

#~2113 >python -u "baidu.py"

#~ Process usage 13.3068089485

#~ 148934

#~ >Exit code: 0 Time: 13.651

今天見5261到另一個代碼4102,非常棒1653(sorry, 忘記了出處)#!/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

總結

以上是生活随笔為你收集整理的python求小于n的所有素数_用python求出2000000内所有素数的和?不知怎么写?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。