小球下落问题描述:
一球从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,所以减除初始高度 } }
希望能对大家有所帮助,点赞评论哦。