陶陶摘苹果 【问题描述】 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳

陶陶摘苹果
【问题描述】
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
【输入格式】
共两行,第 1 行包含 10 个 100 到 200 之间(包括 100 和 200)的整数(以厘米为单位)分别表示 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第 2 行只包括一个100 到 120 之间(包含 100 和 120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
【输出格式】
输出陶陶能够摘到的苹果的高度及个数。
【输入样例】
100 200 150 140 129 134 167 198 200 111
110NEr100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【输出样例】
5
【算法分析】
在 10 个苹果中,一一枚举每个苹果的高度,如果人能达到的高度大于或等于苹果的高度,那么该苹果是问题的一个解,根据题意进行计数,继续枚举下一个苹果的高度 ;如果人能达到的高度小于苹果的高度,则直接枚举下一个苹果的高度,直到 10 个苹果枚举完毕。很显然,符合枚举法的算法思想,因此,采用枚举法进行解题。
需要注意的是 :在统计的时候,千万别忘了 30 厘米高的板凳,陶陶所能达到的最大高度为手伸直时的高度 + 板凳高度。NEr100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【程序实现】
  1. a=[] 
  2. n=int(input(" 请输入苹果的个数 :")) 
  3. for i in range(n): 
  4.     x=int(input(" 请输入苹果的高度 :")); 
  5.     a.append(x); 
  6. b=[] 
  7. l=int(input(" 请输入站在地上的高度 :")); 
  8. h=int(input(" 请输入板凳的高度 :")); 
  9. count=0 
  10. for i in range(n): 
  11.     if a[i]<=l+h: 
  12.         b.append(a[i]) 
  13.         count+=1 
  14. print(b) 
  15. print(" 共摘到苹果数为 :",count) 
【运行结果】
  1. 输入 : 
  2. 请输入苹果的个数 :10 
  3. 请输入苹果的高度 :100 
  4. 请输入苹果的高度 :189 
  5. 请输入苹果的高度 :167 
  6. 请输入苹果的高度 :132 
  7. 请输入苹果的高度 :156 
  8. 请输入苹果的高度 :120 
  9. 请输入苹果的高度 :155 
  10. 请输入苹果的高度 :200 
  11. 请输入苹果的高度 :128 
  12. 请输入苹果的高度 :190 
  13. 请输入站在地上的高度 :100 
  14. 请输入板凳的高度 :40 
  15. 输出 : 
  16. [100132120128
  17. 共摘到苹果数为 : 4 
NEr100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

关 键 词

陶陶摘苹果

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢