Java50道经典习题-程序10 自由落体

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

 1 import java.util.Scanner;
 2 public class Prog10 {
 3     public static void main(String[] args) {
 4         System.out.println("请输入小球落地时的高度和求解的次数:");
 5         Scanner scan=new Scanner(System.in);
 6         int h=scan.nextInt();
 7         int n=scan.nextInt();
 8         scan.close();
 9         distance(h,n);
10     }
11     //小球从h高度落下,经过n次反弹后经过的距离和反弹的高度
12     private static void distance(int h,int n) {
13         double length=0;
14         for(int i=0;i<n;i++) {
15             length+=h;
16             h/=2.0;
17         }
18         System.out.println("经过第"+n+"次反弹后,小球共经过"+length+"米,"+"第"+n+"次反弹的高度为"+h+"米");
19     }
20 }
21 /*运行结果
22 请输入小球落地时的高度和求解的次数:
23 100
24 10
25 经过第10次反弹后,小球共经过197.0米,第10次反弹的高度为0米
26 */

 

posted @ 2019-04-30 16:39  parkour高手  阅读(726)  评论(0编辑  收藏  举报