黑马程序员技术交流社区

标题: 球下落问题 怎么写结果都不贵 [打印本页]

作者: x379769646    时间: 2016-10-8 13:09
标题: 球下落问题 怎么写结果都不贵
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
有没有大神会的
作者: pdog    时间: 2016-10-8 20:45
[Java] 纯文本查看 复制代码
package com.heima.base;

public class Case10 {

        /**
         *【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,
求它在 第10次落地时,共经过多少米?第10次反弹多高?
         */
        public static void main(String[] args) {
                //        每次下落的米数,100 + 50 + 50 + 25 + 25 + 12.5 + 12.5
                //        第二次加起来100 第三次加起来和第二次一样 最后一次是
                //         第二次反弹是除 2的1次方 第三次 2的2次方
                double height = 100;                //这是高度
                double fantan = 0 ;                        //反弹统计
                double drop = 0        ;                        //下落统计

                for (int i = 1; i <= 10; i++) {                                        //每次反弹的高度
                        fantan = fantan + (height / (Math.pow(2,i)));
                }
                drop = fantan - (height / (Math.pow(2,10))) + 100;
                double sum = drop + fantan;
                System.out.println("第十次落地经过" + sum +"米" +"\n" + "第十次反弹" + (height / (Math.pow(2,10))) + "米");
        }

}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2