package demo; /** * @author CP_wangchao * 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?第5次反弹多高? */ public class Test1 { public static void main(String[] args) { // 反弹高度 float h = 100; // 总路程 float s = 0; for (int i = 1; i <= 5; i++) { // 第i次落地式经过的距离=i-1次落地时的距离 + 此次落下的高度 if (i == 1) { s = h; } else { s = s + h + (h / 2) * 2; } // 第i次反弹的高度 h = h / 2; } System.err.println("落地经过的距离:" + s+"米"); // 第i次反弹的高度 h = h / 2; System.err.println("反弹的高度:" + h+"米"); } }