计算指定范围内能整除的个数及总和
Posted 沧海一粒水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算指定范围内能整除的个数及总和相关的知识,希望对你有一定的参考价值。
计算指定范围内能被3 和 7 整除的个数及总和
1、递归实现:
1 def count_and_sum(start,end,a=0,b=0): 2 if start == end: 3 return a,b 4 5 if start%3 == 0 and start%7 == 0: 6 a += 1 7 b += start 8 9 return count_and_sum(start + 1 ,end,a,b) 10 11 counting,total_sum = count_and_sum(1,998) 12 print("个数是%d, 总和是%d"%(counting,total_sum ))
只能计算到998,否则RecursionError: maximum recursion depth exceeded in comparison
2、列表生成式实现
1 def count_and_sum(start=0,end=0): 2 3 num_list = [num for num in range(start,end + 1) if num % 3 == 0 and num % 7 ==0] 4 5 return len(num_list),sum(num_list ) 6 7 counting,total_sum = count_and_sum(1,14333345) 8 9 10 print("个数是%d, 总和是%d"%(counting,total_sum ))
3、生成器实现
1 def count_and_sum(start=0,end=0): 2 3 gen_num = (num for num in range(start,end + 1) if num % 3 == 0 and num % 7 ==0) 4 5 counting = total_sum = 0 6 7 for num in gen_num: 8 counting += 1 9 total_sum += num 10 return counting,total_sum 11 12 counting,total_sum = count_and_sum(1,14333345) 13 14 print("个数是%d, 总和是%d"%(counting,total_sum ))
以上是关于计算指定范围内能整除的个数及总和的主要内容,如果未能解决你的问题,请参考以下文章
C语言试题十三之求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整书,并将他们放在a所指的数组中,通过n返回这些数的个数。
csharp for循环计算范围[1 ... n]中所有奇数整数的总和,它们不能被7整除。