用python求100以内的素数

如题所述

质数又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2、3、5、7、11、13、17、19。
方法1、
#!/usr/bin/python
# -*- coding:UTF-8 -*-
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)
方法2、
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]
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-18
#求100以内的全部素数
L=[]
for x in range(100):
if x<2:
continue
for i in range(2,x):
if x%i==0:
break
else: #走到此处,x一定是素数
L.append(x)
print("100以内的全部素数有:",L)本回答被网友采纳
第2个回答  2023-07-20
质数又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2、3、5、7、11、13、17、19。
方法1、
#!/usr/bin/python
# -*- coding:UTF-8 -*-
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)
方法2、
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]
相似回答