李巨帅


私信TA

用户名:168888

访问量:8161

签 名:

快乐每一天!

等  级
排  名 1527
经  验 2808
参赛次数 0
文章发表 18
年  龄 0
在职情况 学生
学  校 武汉软件
专  业

  自我简介:

解题思路: 明白了经过的路程为初始路程+每次反弹高度*2,第N次反弹的高度为第N下落的高度/2就不难解了。

注意事项: 每次反弹的高度为下落高度的一半,第N次反弹高度在计算完路程之后要再除以2.

参考代码: 

import java.util.Scanner;

public class Main {
    public static void ballDropDistance(double height,int n) {
        double startingHeight = height;
        double totalDistance = height;
        double reboundHeight = height;
        int lossMultiple = 2;
        for (int i = 1; i < n; i++) {
            totalDistance += 2*height/lossMultiple;
            height /= lossMultiple;
        }
        reboundHeight = height/lossMultiple;
        System.out.println(String.format("%.2f",reboundHeight)+" "+String.format("%.2f",totalDistance));
    }
    public static void main(String[] args) {
        int Height,nth;
        Scanner sc = new Scanner(System.in);
        Height = sc.nextInt();
        nth = sc.nextInt();
        ballDropDistance(Height,nth);
    }
}


 

0.0分

2 人评分

  评论区

  • «
  • »