优草派  >   Python

Python怎么去求100以内的所有素数?这里两个方法很简单

罗西汉            来源:优草派

在Python之中,只要学会基础的一些语法就可以去实现一些简单的数值计算了。例如求平方、平均数、中位数等等。而下面这篇文章将会给大家带来使用python计算100以内所有素数的方法,往下看看吧。

Python怎么去求100以内的所有素数?这里两个方法很简单

素数又被称之为质数,指定是一个数除了1和它本身之外不再有其他因数的就叫做质数。简单来说,只有不能被自己整除的才是质数。

(1)使用两个for循环嵌套就能够去实现100以内所有素数的求取,原理就是在第一层循环之中获取到的是2-100的数字集合。在第二层循环之中就由第一层循环得到的每一个结果去除以它自身,如果能被整除就不是,示例如下所示:

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)除了使用for循环之外还可以使用python标准库math之中的sqrt函数去配合列表推导式从而得出100以内素数的结果。原理其实也是不断地去使用100以内的每一个数字去除以它,不过是简化了for循环的代码,示例如下:

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

得出的结果和for循环的结果是一样的,是使用了lambda表示式将多行代码连接起来写了,这样能够减少代码量。

以上就是关于“Python怎么去求100以内的所有素数?这里两个方法很简单”的全部内容了,想要了解更多python的实用知识和代码示例可以在网页顶部栏目中找到python查看更多哦。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行