首页 > 编程学习 > 升级版弹跳的小球

升级版弹跳的小球

发布时间:2022/11/10 18:09:04
/*
一个小球从任意高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第任意次数落地时,一共经过了多少米?
 */
class 小球弹跳任意高度任意落地次数{
    public static void main(String[] args) {
        java.util.Scanner s = new java.util.Scanner(System.in);
        System.out.print("请输入初始落地高度:");
        double 高度 = s.nextDouble();
        System.out.print("请输入落地次数[正整数]:");
        int 次数 = s.nextInt();
        double 路程 = luCheng(高度,次数);
        System.out.println("小球从" + 高度 + "高度落下,第" + 次数 + "次落地时,经过的路程是:" + 路程 + "米");
    }

    /**
     * 一个小球从任意高度落下,经过任意次数弹跳落地时经过的路程
     * @param h 任意高度
     * @param n 任意次数
     * @return 经过的路程
     */
    public static double luCheng (double h,int n){
        double 高度 = h;
        double 行程 = h;
        for (int i = 1; i < n; i++) {
            高度 /=2;
            行程 += 2 * 高度;
        }
        return 行程;
    }
}
Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式