解题思路: 明白了经过的路程为初始路程+每次反弹高度*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语言训练-排序问题<1> (C++代码)浏览:612 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:466 |
【亲和数】 (C语言代码)浏览:505 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1528 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1102 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:600 |
剪刀石头布 (C语言代码)浏览:766 |
IP判断 (C语言代码)浏览:785 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:1455 |
C语言训练-亲密数 (C语言代码)浏览:684 |