首页>>后端>>Python->python判断有多少素数(python 素数判断)

python判断有多少素数(python 素数判断)

时间:2023-12-01 本站 点击:0

今天首席CTO笔记来给各位分享关于python判断有多少素数的相关内容,其中也会对python 素数判断进行详细介绍,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、python判断100-200之间有多少个素数,并输出素数的个数2、python求素数的个数3、python中如何判断素数4、判断101-200之间有多少个素数,并输出所有素数python

python判断100-200之间有多少个素数,并输出素数的个数

判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

from math import sqrt

h=0

for m in range(101,201):

leap=1

k = int(sqrt(m)) #返回数字的平方根

for i in range(2,k+1):#K+1,表示从2循环到K(包含k)

if m % i==0:

leap=0

break

if leap==1:

print('%-4d'%m)

h+=1

if h % 10==0:

print('')

print('The total is %d'%h)

python求素数的个数

求素数本质上的算法还是:除了1和它本身之外的数都不能整除的数。

在网上看到了一种用一行就解决的代码:

" ".join("%s" % x for x in range(2,100) if not [y for y in range(2,x) if x%y == 0])

对这段代码分解,最后一段列表生成式[y for y in range(2,x) if x%y == 0]这个就是核心算法y是从2到x-1的数,x只要能对y整除,配上前面的if not,就是,x不能被2到x-1的数整除,再看前面一段,x for x in range(2,100) 其实就是让x从2到100的取值。我们这假设题目就是求100内的素数。其实代码到这就得出结果了,只要在这些代码外面加上[]就是一个列表生成式了:

[x for x in range(2,100) if not [y for y in range(2,x) if x%y == 0]]

那么为什么还加上了" ".join("%s" % 。。。)这段代码呢?其实只是格式化美观罢了,"%s" %是一种字符串格式化的语法, 基本用法是将值插入到%s占位符的字符串中,join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

下面是结果:

'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'

这样解析出来是个字符串还不能分割,所以我重新改了一下:

a = (" ".join("%s" % x for x in range(2,100) if not [y for y in range(2,x) if x%y == 0])).split()

list1 = []

for item in (a):

list1.append(int(item))

print(list1)

split()把字符串解析成列表,然后给列表每一项都转化成数字。

在数学里,我们还有种判断素数的简化方法:即y的取值范围是2到x的平方根+1

import math

(" ".join("%s" % x for x in range(2,100) if not [y for y in range(2, int(math.sqrt(x))+1) if x%y == 0])).split()

下面是一种正常的算法:

import math

num = []

i = 2

for i in range(2,100):

j = 2;

for j in range(2,int(math.sqrt(i)+1)):

if (i%j==0):

break;

else:

num.append(i)

print(num)

python中如何判断素数

素数的定义:所有比1大的整数中,只能被1或者它本身整除的数为素数

根据定义写出代码:

代码

判断101-200之间有多少个素数,并输出所有素数python

# 判断101-200之间有多少个素数,并输出所有素数

primes = []

for n in range(101,200,2):

  for i in range(3,int(n**(1/2))+1,2):

      if n % i == 0:

          break

  else:

      primes.append(n)

print(f'101-200之间有{len(primes)}个素数,它们是:')

print(primes)

程序缩进如图所示

结语:以上就是首席CTO笔记为大家整理的关于python判断有多少素数的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于python 素数判断、python判断有多少素数的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/5623.html