今天在群裡有網友提問:
用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
順便說一句:其實所有語言都是想通的,重要的是演算法,所以掌握基礎的經典的演算法還是很有必要滴~~