A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ToGame 中级黑马   /  2015-9-19 10:51  /  751 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:一球从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米

6 个回复

倒序浏览
学习了,支持支持
回复 使用道具 举报
好东西,顶下!
回复 使用道具 举报
算是这么算,但在理想条件下,小球会无限弹起,每次都会有一个上升高度
回复 使用道具 举报
顶一下。。。。。。。。
回复 使用道具 举报
一开始把代码看完,有点不能理解为什么会只有一半,再看下题目,原来是假设只有一半的高度,请原谅我的眼拙。
回复 使用道具 举报
不错不错,学习了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马