算法题-1

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+"米");
    }
}

 

posted @ 2017-06-20 17:02  影卓后台开发人员  阅读(178)  评论(0编辑  收藏  举报