一、题目
题目描述
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数
输入格式
M N
输出格式
它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行
样例输入
复制
1000 5
样例输出
复制
31.25 2875.00
二、分析
题目中问的是第N次落地时,所以落地后的反弹和降落不算,最终减去这两段距离。
package dotcpp2;
import java.util.Scanner;
public class B自由下落的距离计算 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
double m = sc.nextInt();
int n = sc.nextInt();
double sum = m;
for(int i = 0; i < n; i++) {
m = m/2;
sum += m*2;
}
System.out.println(String.format("%.2f %.2f", m , sum-m*2));
}
}
}