题解 | #求小球落地5次后所经历的路程和第5次反弹的高度#

求小球落地5次后所经历的路程和第5次反弹的高度

https://www.nowcoder.com/practice/2f6f9339d151410583459847ecc98446

package com.chen.test.huawei;

import java.util.Scanner;

/**
 * 假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?
 * 数据范围:输入的小球初始高度满足 1≤n≤1000  ,且保证是一个整数
 *
 * 对于n米的球:
 * 总的长度: n*(1+ 1/2 + 1/2 + 1/4 + 1/4 + 1/8 + 1/8 + 1/16 + 1/16)
 * 第5次反弹height:  n/16
 */
public class HJ38StatisticBallLengthAndHeight {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            //要求输入一个整数
            findLengthAndHeight(sc.nextInt());
        }
        sc.close();
    }

    private static void findLengthAndHeight(double num){
        double length = 0.0;
        double height= 0.0;
        for (int i = 0; i < 5; i++) {
            if(i==0){
                length = num;
                height = num/2;
            }else {
                //因为每次落地后弹起,再落地长度是一样的
                length += height*2;
                height = height/2;
            }
        }
        System.out.println(length);
        System.out.println(height);

    }
}

全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
狠赚笔第一人:学计算机自己不努力怪大环境?我大一就拿到了美团大厂的offer,好好看看自己有没有努力查看图片
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务