解题思路: 明白了经过的路程为初始路程+每次反弹高度*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 人评分
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:714 |
【绝对值排序】 (C++代码)浏览:692 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:560 |
wu-淘淘的名单 (C++代码)浏览:1388 |
Wu-求圆的面积 (C++代码)浏览:1915 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:594 |
Cylinder (C语言描述,蓝桥杯)浏览:1255 |
1124题解浏览:598 |
Tom数 (C语言代码)浏览:500 |
数字游戏 (C++代码)浏览:1205 |