java 一个球从100米高度下落,每次下落反弹原来高度的一半,如此反复,求第10次落地时共经历了多少米?第10次反弹多高?

java 一个球从100米高度下落,每次下落反弹原来高度的一半,如此反复,求第10次落地时共经历了多少米?第10次反弹多高?

这道题可以使用循环语句来实现。

首先, 定义反弹高度和反弹次数为初始值,定义路程经过的总长度为 0。

然后,使用 for 循环来计算第 10 次落地时共经历了多少米,以及第 10 次反弹的高度。

在循环中,每一次反弹都会有一个长度为当前高度和反弹高度之和的路程。同时,每次反弹,反弹高度都会减半,最终反弹 10 次后为初始高度的 1/1024 。所以,总路程就是每一次反弹的路程之和,共有 2 * 10 次。最后,输出总路程和第 10 次反弹的高度即可。

下面是代码实现:

public class BouncingBall {
    public static void main(String[] args) {
        double height = 100; // 初始高度
        double totalDistance = 0; // 总路程
        double bounceHeight = 0; // 反弹高度
        int times = 10; // 反弹次数
        
        for (int i = 1; i <= times; i++) {
            totalDistance += height;  // 下落路程
            bounceHeight = height / 2; // 反弹高度
            height = bounceHeight; // 下次落地的高度

            totalDistance += height; // 反弹路程
        }
        System.out.println("第10次落地时共经历了 " + totalDistance + " 米");
        System.out.println("第10次反弹高度为 " + bounceHeight + " 米");
    }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值