扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
#75067
成都创新互联成立与2013年,公司以网站设计制作、网站制作、系统开发、网络推广、文化传媒、企业宣传、平面广告设计等为主要业务,适用行业近百种。服务企业客户近千家,涉及国内多个省份客户。拥有多年网站建设开发经验。为企业提供专业的网站建设、创意设计、宣传推广等服务。 通过专业的设计、独特的风格,为不同客户提供各种风格的特色服务。
L=[]
for x in range(100,1000):
if x2:
continue
for i in range(2,x):
if x%i==0:
break
else: #走到此处,x一定是素数
L.append(x)
#print("100-1000以内的全部素数有:",L)
print('和为:',sum(L))
解题思路:需要实现两个函数,一个是判断数字是否是素数;一个是求和函数。
实现函数,判断是否是素数,is_prime,具体代码如下:
def is_prime(num):
"""
判断是否是素数.
:param num:
:return:
"""
result = True
# 质数大于 1
if num 1:
# 查看因子
for i in range(2, num):
if (num % i) == 0:
result = False
break
else:
result = True
# 如果输入的数字小于或等于 1,不是质数
else:
result = False
return result
实现函数,计算数字start到end之间的所有素数之和,sum,具体代码如下:
def sum(start, end):
"""
求闭区间[start, end]之间的素数之和.
:param start:
:param end:
:return: """
result = 0;
for i in range(start, end + 1):
if is_prime(i):
print(i)
result = result + i
return result
在main函数中调用求和,代码如下:
if __name__ == '__main__':
num = 8
print(is_prime(num))
num = 5
print(is_prime(num))
print(sum(1, 5))
完整 代码如下:
# 求200以内所有素数和
p = []
for i in range(2,201):
for j in range(2,int(i*(1/2))+1):
if i % j == 0:
break
else:
p.append(i)
print(f'200以内所有素数和为{sum(p)}')
程序缩进如图所示
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流