python如何求取指定范围内的质数
作者:究酸橙子
这篇文章主要介绍了python如何求取指定范围内的质数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
python求取指定范围内的质数
质数又称素数。
一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。
python代码
#求指定区间的质数 #输入范围下限 lower=int(input("请输入下限:")) #输入范围上限 upper=int(input("请输入上限:")) #循环检查范围内每一个数是否为质数 for num in range(lower,upper): if num>1: for i in range(2,num): if num%i==0:#判断子啊2-num范围内是否存在i能够整除num,如果存在就代表除了1和本身外它还能被其他数整除,所以不是质数。 break#结束判断,进行下一次循环 else: print(num)#输出是质数的数
假设下限为20,上限为40,输出结果为下
请输入下限:20
请输入上限:40
23
29
31
37
python多种方法求某个范围内的所有素数(质数)
素数简介
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
方法1
def primeNUM(min,max): if min==1: print('') min += 1 for i in range(min, max+1): for j in range(2, i + 1): if i % j == 0: #判断i能不能被整除 break #退出for循环 if j == i: #若j等于i,说明i是素数 print(i,end=" ") print('') primeNUM(1,200)
方法2
def test(num): list = [] #定义一个列表 用于存储计算的数 i = num -1 # 去除本身 while i > 1: # 去除1 if num %i == 0 : #判断是否有余数 list.append(i) # 将所有的能整除i的数加入列表 i -= 1 if len(list) == 0 and num != 1: # 如果列表为空 就是表示除了1和它本身能整除 print(num,end=' ') def primeNUM2(min,max): j = min while j < max: test(j) j += 1 print('') primeNUM2(1,100)
输出结果:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。