题目:假如一个小球从100米高度自由落下,每次落地后就反跳回原高度的一半。那么求它在第10次落地时,共经过多少米?第10次反弹多高?
样例
输入n=2
得到反弹后最终运动距离为:225.5
反弹高度为:22.5
代码如下
import java.util.*;
public class zhimingyangtuo {
public static double getHeight(int num) {
if (num==1)
return 100 / 2;
return getHeight(num - 1) / 2;
}
public static double getSum(int num) {
double sum = 0;
for (int i = 1;i<=num;i ++)
sum += getHeight(i) * 3;
return sum;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("求小球在第n次落地到反弹到最高点经过的路程(m)和第n次落地后反弹的高度,请输入n:");
int n = input.nextInt();
double sum = 0;
System.out.print("小球从100米自由落下,每次反跳一半路程,则在第 "+ n + " 次落地到反弹到最高点经过的路程为:" + getSum(n) + ", 第"+n+"次落地后反弹的高度为" + getHeight(n));
}
}