首页 > 其他 > 详细

计算指定范围内能整除的个数及总和

时间:2018-07-28 10:18:50      阅读:227      评论:0      收藏:0      [点我收藏+]
                    计算指定范围内能被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 ))
View Code

只能计算到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 ))
View Code

 


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 ))
View Code

 

 

计算指定范围内能整除的个数及总和

原文:https://www.cnblogs.com/xiesongyou/p/9380563.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!