小球下落问题描述: 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 问题的关键有: 1.要求得第十次落地时,球走的总路程,即包括前九次的下落和弹起和第十次的下落 2.一次落地包括:下落和弹起,先下落,再弹起。 示意图如图所示:
其中,H为下落高度,H/2为弹起高度,一次的总路程S=H+H/2。
编码:
package test;
/**
*
* @author laoshifu
* 2021年12月8日
*/
public class Action {
public static void main(String[] args) {
double h=100;//最初高度
double s=0;//sum记录
for (int i = 0; i < 10; i++) {
s+=2*h;//每次累加往返距离
h=h/2;//每次距离减半
}
System.out.println(h);
System.out.println(s-100);//问经过多少M,所以减除初始高度
}
}
希望能对大家有所帮助