解题思路: 明白了经过的路程为初始路程+每次反弹高度*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语言代码)浏览:560 |
1124题解浏览:595 |
DNA (C语言代码)浏览:749 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1479 |
字符逆序 (C语言代码)浏览:621 |
盐水的故事 (C语言代码)浏览:1528 |
简单的a+b (C语言代码)浏览:443 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:612 |
C二级辅导-统计字符 (C语言描述——用函数求解)浏览:1181 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言描述——递归算法)浏览:1134 |