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

Python (226) 2023-04-11 23:59:30

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

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

方法一,用for循环来实现

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
num=[];
i=2
foriinrange(2,100):
j=2
forjinrange(2,i):
if(i%j==0):
break
else:
num.append(i)
print(num)
num=[]; i=2 foriinrange(2,100): j=2 forjinrange(2,i): if(i%j==0): break else: num.append(i) print(num)
num=[];
i=2
foriinrange(2,100):
j=2
forjinrange(2,i):
if(i%j==0):
break
else:
num.append(i)
print(num)

方法二,用函数来实现

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
importmath
deffunc_get_prime(n):
returnfilter(lambdax:not[x%iforiinrange(2,int(math.sqrt(x))+1)ifx%i==0],range(2,n+1))
printfunc_get_prime(100)
importmath deffunc_get_prime(n): returnfilter(lambdax:not[x%iforiinrange(2,int(math.sqrt(x))+1)ifx%i==0],range(2,n+1)) printfunc_get_prime(100)
importmath
deffunc_get_prime(n):
returnfilter(lambdax:not[x%iforiinrange(2,int(math.sqrt(x))+1)ifx%i==0],range(2,n+1))
printfunc_get_prime(100)

输出结果为:

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
[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]
[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]
[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]
THE END

发表回复