一个小球从100米高空落下,每次落地后反跳回原高度的一半,然后再落下,重复这个过程
求他在第10次落地时,共经过多少米?第10次反弹多高?
方法一:
ublic class XiaoQiuFanTanYiBan {
public static void main(String[] args) {
double s=100;
double h=s/2;
for(int i=2;i<=10;i++) {
s+=h;
h=h/2;
}
System.out.println("第10次落地时经过的路程为:"+s);
System.out.println("第10次反弹的高度为:"+h);
}
}
结果显示:
第10次落地时经过的路程为:199.8046875
第10次反弹的高度为:0.09765625
方法二:(扩展,读入)
import java.util.Scanner;
ublic class XiaoQiuFanTanYiBan2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入小球的起始高度和反弹次数:");
double s=sc.nextDouble();
int n=sc.nextInt();
qiu(s,n);
}public static void qiu(double s,int n) {
double s2=s/2;
for(int i=2;i<=n;i++) {
s+=s2;
s2=s2/2;
}
System.out.println("第"+n+"次落地时经过的路程为:"+s);
System.out.println("第"+n+"次反弹的高度为:"+s2);
}
}
结果显示:
请输入小球的起始高度和反弹次数:100 10
第10次落地时经过的路程为:199.8046875
第10次反弹的高度为:0.09765625