小球落地问题

Posted chaunceyji

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小球落地问题相关的知识,希望对你有一定的参考价值。

 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。

它在第N次落地时反弹多高?共经过多少米? 保留两位小数

 

第一次落地反弹 M/2,

第二次落地反弹 M/4 (即 M/(2^2)),

第三次落地反弹 M/8 (即 M/(2^3)),

以此类推第 N次反弹高度为 M/(2^N)

public class  Test{
public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int M = scanner.nextInt(); //总高度
    int N = scanner.nextInt(); //反弹的次数
    double height = 0,sum = M;
    for(int i=1;i<=N;i++) {
        height=M/Math.pow(2, i);
        if(i<N) {
            sum += 2*height;
        }else if(i==N) {
            sum += 0;
        }
    }
    String h = String.format("%.2f", height);
    String s = String.format("%.2f", sum); 
    System.out.println(h+" "+s);
  }
}

 

以上是关于小球落地问题的主要内容,如果未能解决你的问题,请参考以下文章

小球落地反弹问题(java实现)

1009反弹的小球

华为机试HJ38:求小球落地5次后所经历的路程和第5次反弹的高度

Java动画 重力弹球 如鹏游戏引擎 精灵 设计一个小球加速落地又减速弹起并反复直到停止的Java程序

2016校招真题之小球的距离

取小球下落高度问题