python函数素数求和,python素数求和代码
python求1~100之间的所有素数之和
解题思路:需要实现两个函数,一个是判断数字是否是素数;一个是求和函数。
创新互联是一家专业的成都网站建设公司,我们专注网站建设、成都网站设计、网络营销、企业网站建设,买友情链接,1元广告为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。
实现函数,判断是否是素数,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))
完整 代码如下:
python100以内的素数之和
解析如下:
#找出100内所有素数
ls = [];
for i in range(100):
if i 2:
continue;
#难点:
#1.range(2,2) 返回空值,直接跳过循环,未执行break,else语句会被执行
#2.for.j循环执行完毕后,如果未找到满足i%j==0的数值,证明其是素数,break不会被执行,else会被执行;如果找到i%j==0的数值,证明其不是素数,break会被执行,else则不会被执行;
for j in range(2, i):
if i%j == 0:
#print("{0}不是素数".format(i));
break;
else:
#print("{0}是素数".format(i));
ls.append(i);
print(ls);
#求和
s = 0;
for k in ls:
s += k;
print(s);
python求素数
python求素数:
def is_prime(m):
"""判断m是否素数"""
for i in range(2,int(m**(1/2))+1):
if m % i == 0:
return False
else:
return True
注意事项
定义一个函数并使用input进行范围的输入,同时将将求得的素数保存在num数组中去,便于求得在该范围内素数的总数以及对应的具体值,同时,在本程序中并没有对非法输入的值进行过多的判断,而主要就是为了实现功能。
注意在该函数当中,else是与内循环中的for搭配使用的,如果内循环是由break而终止的,那么else语句是不会被执行的。
python用while求100以内素数并求和
# 用while求100以内素数并求和
primes = []
n = 2
while n = 100:
i = 2
while i = int(n**(1/2)):
i += 1
if n % (i - 1) == 0:
break
else:
primes += [n]
n += 1
print(primes)
print(f'100以内素数之和为{sum(primes)}')
程序缩进如图所示
分享文章:python函数素数求和,python素数求和代码
网址分享:http://pwwzsj.com/article/dssjseh.html