用python求第1000個質數的值
今天在群里有網友提問:
用python求從0開始第1000個質數?
其實算法本身不難,求質數要從質數的定義下手。
質數:只能被0和它本身整除的數。那好,我們開始寫程序(一個小算法)。
1 #coding=utf-8 2 3 #定義求質數的函數 4 def getprim(n): 5 #我們從3開始,提升效率,呵呵,微乎其微啦 6 p=3 7 x=0 8 while(x<n): 9 result=True 10 for i in range(2,p-1): 11 if(p%i==0): 12 result=False 13 if result==True: 14 x=x+1 15 rst=p 16 #注意:這里加2是為了提升效率,因為能被雙數肯定不是質數。 17 p=+2 18 print(rst) 19 20 #調用函數 21 getprim(1000)
結果是:7927
運行結果圖如下:
順便說一句:其實所有語言都是想通的,重要的是算法,所以掌握基礎的經典的算法還是很有必要滴~~