def is_prime(m):
为崇左等地区用户提供了全套网页设计制作服务,及崇左网站建设行业解决方案。主营业务为成都网站设计、网站建设、崇左网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
"""判断m是否素数"""
for i in range(2,int(m**(1/2))+1):
if m % i == 0:
return False
else:
return True
程序缩进如图所示
求100以内的素数python函数:
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)
运用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]
最后得到一个纯素数的列表[];
先写个函数判断是不是素数,再用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
案例如下:
def showSu():
a = [2, 4, 5, 6, 7, 8, 3, 11, 13]
b = 0
for i in range(0, len(a)):
if a[i] 1:
for j in range(2, a[i]):
if a[i] % j == 0:
break
else:
b += 1
print(a[i])
print("素数个数:%d"%b)
showSu()
结果如下:
2
5
7
3
11
13
素数个数:6
希望我的回答可以帮助你!