1 /*10 【程序 10 自由落体】 
 2 题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;
 3 求它在 第 10 次落地时,共经过多少米?
 4 第 10 次反弹多高? 
 5 */
 6 
 7 /*分析
 8  * 第一次落地再弹上去经过100+50米
 9  * 第二次。。。。。。。  。50+25米
10  * 第三次。。。。。。。  。25+12.5米
11  *第四次。。。。。。。   。12.5+6.25米        //路程和高度都要用float类型
12  * 。。。。
13  * 第十次落地的路程只需要算落地,不需要弹起来;弹起的高度就是前一次弹起高度的一半
14  * 
15  * 综上,除第一次外,每次落下的距离是前一次弹起的距离的一半,每次弹起的距离又是前一次落下的一半,用数据除以十次2,再根据实际情况求和就可以得到总路程
16  * */
17 
18 
19 package homework;
20 
21 public class _10 {
22 
23     public static void main(String[] args) {
24         //声明高度和走过的路程
25         float h=100,s=0;
26         //十次落地用for循环遍历
27         for (int i = 10; i>0; i--) {
28             s=s+2*h; //第一次弹起加上第二次落下的高度(多加了一个100)
29             h=h/2;   //每次落下后弹起的高度是原来高度的一半
30         }
31         s=s-100;     //将前面多加的100减去;
32         System.out.println("第十次落地时经过的总路程:"+s+"米");
33         System.out.println("第十次弹起的高度:"+h+"米");
34 
35     }
36 
37 }