小球下落问题描述:

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

问题的关键有:

1.要求得第十次落地时,球走的总路程,即包括前九次的下落和弹起和第十次的下落

 2.一次落地包括:下落和弹起,先下落,再弹起。

示意图如图所示:

Java_小球自由落体_小球下落问题_i++

其中,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,所以减除初始高度
}
}

希望能对大家有所帮助,点赞评论哦。