练习10

来源:互联网 发布:电脑没网络手机能连上 编辑:程序博客网 时间:2024/06/03 18:43

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

分析:第i+1次反弹的高度一定是第i次反弹高度的一半。总共经过的长度需要计算落下的过程和反弹起来的过程,可以把反弹和落下放进同一个过程,并且同一个过程中反弹和落下的经过的长度是相等的,都是前一过程的一半。在第一个反弹落下过程之前,还有一次从100米的高度落下的过程,不能忘了。另外,这道题计算长度的过程中会产生小数,需要用double型来得到结果。

代码:
public class Practice10 {public static void main(String[] args){double s = 0;  //定义总共经过的距离sdouble t = 100;  //定义反弹的高度s = s + t;  //第一次落下时经过的距离for(int i = 1; i <= 10; i++){s = s + t;  //总共经过的距离s等于上一次落地时的总距离加上这一次的反弹高度t/2和落下高度t/2t /= 2;  //每次从t米落下后反弹的高度都是原高度的一半}System.out.println("第10次落地共经过" + s + "米" + "\n反弹" + t +"米");}}

结果:
原创粉丝点击