四球落地总路径问题(2016京东Java研发工程师面试题)

以高度为100米为例:

/**
 * Created by ${wuyupku} on 2019/3/18 22:50
 *题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
 *
 * @author wuyupku
 *
 */

public class tan {

    public static void main(String[] args) {
        double total = 0;
        double height = 100;
        for (double i = 0; i < 30; i++) {
            System.out.print("第" + (i + 1) + "次落下时候高度:" + height + " ");
            total = total + height;
            height = height / 2;
            System.out.println("第" + (i + 1) + "次落下经过距离:" + total);
        }
    }
}

。。。。。。省去前面的。。。。。。 第25.0次落下时候高度:5.9604644775390625E-6 第25.0次落下经过距离:199.99999403953552 第26.0次落下时候高度:2.9802322387695312E-6 第26.0次落下经过距离:199.99999701976776 第27.0次落下时候高度:1.4901161193847656E-6 第27.0次落下经过距离:199.99999850988388 第28.0次落下时候高度:7.450580596923828E-7 第28.0次落下经过距离:199.99999925494194 第29.0次落下时候高度:3.725290298461914E-7 第29.0次落下经过距离:199.99999962747097 第30.0次落下时候高度:1.862645149230957E-7 第30.0次落下经过距离:199.99999981373549

实际上还得再加上50+25+12.5+6.75+…=100, 所以:取极限为:300 (100+90+80+70)*3 = 1020

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券