题解 | #求小球落地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); } } }