解题思路: 明白了经过的路程为初始路程+每次反弹高度*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二级辅导-同因查找 (C语言代码)浏览:705 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:1084 |
不容易系列 (C语言代码)浏览:702 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:562 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:761 |
关于C语言变量位置的问题浏览:294 |
简单的a+b (C语言代码)浏览:572 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:644 |
上车人数 (C语言代码)浏览:753 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:1060 |