循环

一个球从100米下落,每次落地后反弹回原来高度的1/2,求10次反弹后,小球经过的距离和此时离地面的高度。

double gd=100;//起点高100米
        double lc=0;//经历的路程
        int cs = 10;
        for(int i=0;i<cs;i++){
              lc=lc+gd+gd/2;//每一次下落(包括上升)的路程
            gd=gd/2;//下一次起点高变为一半
        }        System.out.println("经过"+cs+"次落地并回到最高点,共经历:"+lc+"米");
        //下一次的起点高度就是当前这一次的反弹高度
        System.out.println("第"+cs+"次反弹高:"+gd+"米");
}
}    

      这道题我打底  的地方是我没想到,还有就是“距离”我也只想到了100/2+100/2/2....结果是错的!我一直没想明白,都是舍友帮我的。给我仔细的讲解了好久,我才明白距离应该是(100/2+100)+(100/2/2+50)+....弄了半天才想明白我钻牛角尖了!!!
      现在我基本上是搞懂了,但是还得消化消化.......

原文地址:https://www.cnblogs.com/haoziwoaini/p/5331311.html