用python求第1000個質數的值

pythontab發表於2013-02-28

今天在群裡有網友提問:

用python求從0開始第1000個質數?

其實演算法本身不難,求質數要從質數的定義下手。

質數:只能被0和它本身整除的數。那好,我們開始寫程式(一個小演算法)。

#coding=utf-8
   
#定義求質數的函式
def getprim(n):
 #我們從3開始,提升效率,呵呵,微乎其微啦
    p=3
    x=0
    while(x<n):
        result=True
        for i in range(2,p-1):
            if(p%i==0):
                result=False
        if result==True:
            x=x+1
            rst=p
#注意:這裡加2是為了提升效率,因為能被雙數肯定不是質數。
        p+=2
    print(rst)
   
#呼叫函式
getprim(1000)

結果是:7927

用python求第1000個質數的值

順便說一句:其實所有語言都是想通的,重要的是演算法,所以掌握基礎的經典的演算法還是很有必要滴~~

相關文章