黑马程序员技术交流社区

标题: java做的一道数学题 [打印本页]

作者: ToGame    时间: 2015-9-19 10:51
标题: java做的一道数学题
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次
          落地时,共经过多少米?第10次反弹多高?

代码如下:
import java.util.Scanner;
class Prog10{
        public static void main(String[] args){
                System.out.print("请输入小球落地时的高度和求解的次数:");
                Scanner sc = new Scanner(System.in);
                int h = sc.nextInt();
                int n = sc.nextInt();
                distance(h,n);
        }
        //小球从h高度落下,经n次反弹后经过的距离和反弹的高度
        public static void distance(int h,int n){
                double length = 0;
                for(int i=0;i<n;i++){
                        length += h;
                        h /=2.0 ;
                }
                System.out.println("经过第"+n+"次反弹后,小球共经过"+length+"米,"+"第"+n+"次反弹高度为"+h+"米");
        }
}
最后运行结果为:
             经过第10次反弹后,小球共经过197.0米,第10次反弹高度为0米
作者: 水果牛牛    时间: 2015-9-19 10:53
学习了,支持支持
作者: 阮文江    时间: 2015-9-19 11:01
好东西,顶下!
作者: ZhengJX    时间: 2015-9-19 15:30
算是这么算,但在理想条件下,小球会无限弹起,每次都会有一个上升高度
作者: 哈哈我赢了    时间: 2015-9-19 21:00
顶一下。。。。。。。。
作者: StormPeng    时间: 2015-9-19 21:11
一开始把代码看完,有点不能理解为什么会只有一半,再看下题目,原来是假设只有一半的高度,请原谅我的眼拙。
作者: 尼玛个鸡    时间: 2015-9-19 21:17
不错不错,学习了!




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