题目:一球从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 */