python100到200的素数_五十道经典编程题 Python实现二 - 判断101-200之间有多少个素数,并输出所有素数。...

记得读书的时候老师拿出了五十道经典编程题来,当时觉得很有趣,当时还是用Java实现的,这里我们用Python来实现下 😊

问题:判断101-200之间有多少个素数,并输出所有素数。

tips:

什么是素数?

素数又称质数,一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

如何判断一个数是不是素数?

在一般领域,对正整数n,如果用2到这个数的平方根

之间的所有整数去除,均无法整除,则n为质数。

质数大于等于2 不能被它本身和1以外的数整除

实现代码:

from math import sqrt

'''

@Description: 判断一个自然数是否是质数

@params: 自然数

@retrun: boolean(true:是质数,false:不是质数)

'''

def isPrime(num):

for i in range(2, int(sqrt(num))+1):

if num % i == 0:

return False

return True

'''

@Description: 判断两个数字(包含n1,不包含n2)之间的质数有哪些,并返回这两个数字之间的所有质数组成的列表

@params: (n1,n2) 都是大于1的自然数,n1:查找大于等于n1的质数,n2:查找小于n2的质数

@retrun: 列表

'''

def rangeNumPrime(n1,n2):

if n1<2:

raise Exception("素数范围是大于1的自然数")

if n1>=n2:

raise Exception("第二个参数必须大于第一个参数")

primeNums=[]

for num in range(n1,n2):

if isPrime(num):

primeNums.append(num)

return primeNums

'''

@Description: 以列表的形式打印出101(包含)到200(不包含)的质数

'''

print(rangeNumPrime(101,200))

'''

运行打印结果:

[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]

'''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值