重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
求100以内的素数python函数:
创新互联公司长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为同安企业提供专业的成都网站设计、做网站、成都外贸网站建设公司,同安网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
l = []
for x in range(100):
#判断如果x是素数,则打印,如果不是素数就跳过
if x 2:
continue
for i in range(2,x):
if x % i == 0:
break
else:
l.append(x)
print(l)
先写个函数判断是不是素数,再用filter求出列表里的素数
def isprime(n):
re = True
if n 2:
return False
for i in range(2,n-1):
if n%i == 0:
re = False
return re
re=filter(lambda x:isprime(x),[1,2,3,4,5,6,7])
print re
运用python的数学函数,
先导入math模块,
再定义isPrime()方法即可;
使用for进行单行程序扫描素数即可;
运用python的itertools模块判断即可;使用if...while语句来判断即可。
not 0表示非0 返回真,0返回假
print reduce(
lambda l,y: #递减的操作函数
(not 0 in map(lambda x:y % x, l)) and (l+[y]) or l, #l是一个列表[], 结果l中后加入的数不能被前数整除,被整除则不添加后数
xrange(2,1000), #范围[2,1000)
[] )
过程是:
测试到6, 就把6依次整除之前的l=[2,3,5] ,除2余0,就放弃6。l仍是[2,3,5]
测试到7, 就把7依次整除之前的l=[2,3,5] ,除2都不余0,加入6。l变成[2,3,5,7]
最后得到一个纯素数的列表[];
1、定义判断素数的函数isPrime
import math
def isPrime(num):
sqt = int(math.sqrt(num))
for i in range(2, sqt + 1):
if num % i == 0:
return False
return True
2、调用函数并打印结果
a = int(input("请输入一个数字:"))
if isPrime(a):
print(a)
else:
print("不是素数")
3、验证结果
(1)输入的是素数
请输入一个数字:3
3
(2)输入的不是素数
请输入一个数字:12
不是素数