题解 | #求小球落地5次后所经历的路程和第5次反弹的高度#
求小球落地5次后所经历的路程和第5次反弹的高度
https://www.nowcoder.com/practice/2f6f9339d151410583459847ecc98446
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int n = in.nextInt();
//下落高度转double,方便计算
double high=n;
//第i次下落高度
double fall=0;
//第i次落地回弹高度
double reboud=0;
//第i次触地时小球经过的路程
double distance=0;
for(int i=0;i<5;i++){
//下落高度
fall=high;
//回弹高度
reboud=high/2;
//下一次下落高度等于上一次的回弹高度
high=reboud;
distance+=(fall+reboud);
}
//最后一次回弹距离要减掉
distance-=reboud;
System.out.println(distance);
System.out.println(reboud);
}
}
}
