package Day03;/*** 第三题:* 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在* 第10次落地时,共经过多少米?第10次反弹多高?* <p>* //第一次,从100落下 m=100 sum=0 sum0 += m100 + (m100/ 2 ) ==== m=50 sum=150* //第二次, 从50落下 m= 50 sum=150 sum150 += m50 + (m50/ 2 ) ===== m=25 sum=225* //第三次, 从25落下 m= 25 sum=225 sum225 += m25 + (m25/ 2 ) ===== m=12.5 sum=262.5*/
public class Day03_Demo03 {public static void main(String[] args) {double m = 100; // 弹起米数double sum = 0; // 经过的米数for (int i = 1; i <= 10; i++) {sum += m + (m / 2);System.out.println("第" + i + "次 --落下-- 的米数为: " + m);m = m / 2;System.out.println("第" + i + "次 --落下弹起-- 的米数为: " + m);System.out.println("第" + i + "次 --落下加弹起-- 总米数为: " + sum);//第一次,从100落下 m=100 sum=0 sum0 += m100 + (m100/ 2 ) ==== m=50 sum=150//第二次, 从50落下 m= 50 sum=150 sum150 += m50 + (m50/ 2 ) ===== m=25 sum=225//第三次, 从25落下 m= 25 sum=225 sum225 += m25 + (m25/ 2 ) ===== m=12.5 sum=262.5System.out.println();}System.out.println("------------------------------------------------------");}/*** 要求写一个jingluo方法:该方法要求传入一个落地的次数n,就可以求出小球在第n次落地时经过了多少米。* @param n 落地次数* @return 返回小球在第n次落地时经过了多少米*/public double Jiangluo(int n) {double m = 100; // 弹起米数double sum = 0; // 经过的米数for (int i = 1; i <= n; i++) {sum += m + (m / 2);m = m / 2;}return sum;}/*** 要求写一个fantan方法:该方法要求传入n,就可以求出第n次反弹了多高。** @param n 传入反弹次数* @return 返回第N次反弹了多高*/public double Fantan(int n) {double m = 100; // 弹起米数for (int i = 1; i <= n; i++) {m = m / 2;}return m;}
}