基础编程50题

【题目10】球落地反弹路程和反弹高度

2017-03-25  本文已影响92人  Xplorist

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

package com.share.test01_10;

/**
 * 【程序10】题目:<br>
 * 一球从100米高度自由落下,每次落地后反跳回原高度的一半;<br>
 * 再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
 * 
 * @author brx
 */
public class Test10 {
    public static void main(String[] args) {
        test(100, 3);
    }

    /**
     * 思路:<br>
     * 将思路理清楚,落地共经过的路程要想仔细,上下的路程都要算,<br>
     * 所以要加两次,第一次的初始值要设置正确
     * 
     * @param n:从n米高的地方落下
     * @param m:第m次落地
     */
    public static void test(double n, int m) {
        double sum = 0;
        double tem = n;
        double tem1 = 0;
        for (int i = 0; i < m; i++) {
            sum += tem1 + tem;
            tem = tem / 2;
            tem1 = tem;
        }
        System.out.println("从" + n + "米高的落下第" + m + "次落地时共经过" + sum + "米第" + m + "次反弹了" + tem + "米");
    }
}

上一篇下一篇

猜你喜欢

热点阅读