欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?再反弹弹起多少米?(使用递归来实现),

来源: javaer 分享于  点击 13920 次 点评:39

一球从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

 

相关文章

    暂无相关文章
相关栏目:

用户点评