题目: 一个球从100米的高度自由落下,每次落地后反弹回原来高度的一半,然后再落下,求它在第10次落
地时,共经过多少米?第10次反弹的高度是多少?
package org.geekbang.作业.第一周;
/**
* @author 起凤
* @description: TODO
* @date 2022/4/5
*/
public class Test {
public static void main(String[] args) {
h();
s();
}
static void s() {
// 除第一次下落外,从第二次下落开始,每次增加的距离就是 2h。设置初始值是100开始雷加即可
// 此外h设置为50是指第一次弹起的高度,每次除2再循环9次就得到第十次的弹起高度了
double s = 100, h = 50;
for (int i = 2; i <= 10; i++) {
s = s + 2 * h;
h /= 2;
}
System.out.println("====> 经过路程s: " + s);
System.out.println("====> 反弹高度h: " + h);
}
static void h() {
double h = 100;
for (int i = 1; i <= 10; i++) {
h /= 2;
System.out.println("======> 第" + (i) + "次反弹高度: " + h);
}
}
}