/*一球从100米高度自由落下,每次落地后反跳回原高度的一半;求它在第十次落地时,
共经过多少米?第10次反弹多高?*/
public class FreeFallingBody {
double get_height(int frequency)
{
if (frequency <= 0) return -1;//违法输入,返回-1
if (frequency == 1) return 50;//第一次,反跳回50米
else return get_height(frequency-1) / 2;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
double sum = 0;//记录经过的高度
FreeFallingBody p=new FreeFallingBody();
System.out.print("第10次反跳高度:"+p.get_height(10)+"米"+"\n");
for (int i = 10;i >= 1;i--)
{
sum = sum + p.get_height(i) * 3;//累加经过的高度
}
System.out.print("第10次落地时共经过:"+(sum -p.get_height(10))+"米");
}
}
JAVA经典50题(10)
自由落体反弹计算
最新推荐文章于 2021-08-02 07:45:20 发布
10万+

被折叠的 条评论
为什么被折叠?



