您的当前位置:首页正文

如何用python求素数

2020-11-27 来源:星星旅游

如何用python求100以内的素数?

质数(primenumber)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2、3、5、7、11、13、17、19。

方法一,用for循环来实现

num=[];
i=2
for i in range(2,100):
 j=2
 for j in range(2,i):
 if(i%j==0):
 break
 else:
 num.append(i)
print(num)

方法二,用函数来实现

import math
def func_get_prime(n):
 return filter(lambda x: not [x%i for i in range(2, int(math.sqrt(x))+1) if x%i ==0], range(2,n+1))
 
print func_get_prime(100)

输出结果为:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]