求第N个质数算法

用python求从1开始第1000个质数?

质数:只能被1和它本身整除的数。那好,我们开始写程序(一个小算法)。

 1 def calc_prime(prime,num):
 2     i,gab=7,2
 3     while num>3:
 4         flag=True
 5         for x in prime:
 6             if x*x>i:
 7                 break
 8             if i%x==0:
 9                 flag=False
10                 break
11         if flag:
12             prime.append(i)
13             if len(prime)>=num:
14                 break
15         gab=6-gab
16         i+=gab
17     return prime[num-1]
18 
19 #调用
20 print calc_prime([2,3,5],1000)

 

posted @ 2014-04-02 13:09  Macbeth  阅读(1174)  评论(0编辑  收藏  举报