一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?再反弹弹起多少米?
1 public class QuickSort { 2 /* 3 * 第一次写博客,这道题是我今天面试遇到的题, 4 * 拿道题的第一个想法就是用递归来做,可惜时 5 * 间有限没做出来,回家后终于用递归做出来了, 6 * 从来没有写过博客所以写一篇博客来玩玩 7 * 8 * */ 9 //记录下落的总高度 10 private static double sum = 0; 11 12 //计算第n次下落的高度 13 public static double reHeight(int n) { 14 if (n == 1) { 15 return 100; 16 } 17 return reHeight(--n) / 2; 18 } 19 20 public static void main(String[] args) { 21 for (int i = 2; i <= 5; i++) { 22 sum += reHeight(i) * 2; 23 } 24 sum += 100; 25 System.out.println(sum); 26 System.out.println(reHeight(6)); 27 } 28 } 29 30 //运行结果: 31 //287.5 32 //3.125
版权声明:本文为JDS20200528原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。