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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© knockout 中级黑马   /  2015-9-6 00:35  /  637 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*
  2. 【程序10】
  3. 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
  4. */
  5. class BallHigh
  6. {
  7.         public static void main(String[] args)
  8.         {
  9.                 double h=100,sum=0;
  10.                 for(int i=1;i<=10;i++)
  11.                 {
  12.                         if(i==1)
  13.                         {
  14.                                 h/=2;
  15.                                 sum=100;
  16.                         }
  17.                         else
  18.                         {
  19.                                 sum+=2*h;
  20.                                 h/=2;
  21.                         }
  22.                         System.out.println("第"+i+"次落地时,共经过"+sum+"米,第"+i+"次反弹高度为"+h);
  23.                 }
  24.         }
  25. }
复制代码

6 个回复

倒序浏览
大哥你确定这是对的?
回复 使用道具 举报
class Test2_High {
        public static void main(String[] args) {
                System.out.println("Hello World!");
                int high = 100,sum = 0;
                for (int i = 1;i <= 10  ;i++ ) {
                        sum = sum + high;
                        high = high / 2;
                        sum = sum + high;
                }
                System.out.println("10次以后小球的高度为:" + high + ", 10次以后小球运行的距离为:" + sum);
        }
}

回复 使用道具 举报
/*
03.题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
思路:第一次  100/2
         第二次  50/2=100/2/2
         第三次  25/2=100/2/2/2
         第10次=100/(2^10)   100 除以 2的第10次方   
       在每次累加
*/      
public static void main(String[] args){
            for(int  a=1;a<=10;a++){
         double h=100/Math.pow(2,a);     //第10次的值     Math.pow(2,a) 求2的a次幂
        double sum=100;
        sum=sum+h;       //累加
           System.out.println(h);
           System.out.println(sum);
         
         }
}

回复 使用道具 举报
/*
03.题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
思路:第一次  100/2
          第二次  50/2=100/2/2
          第三次  25/2=100/2/2/2
          第10次=100/(2^10)   100 除以 2的第10次方   
        在每次累加
*/      
public static void main(String[] args){
        double sum=100;                   //初始化
        for(int  a=1;a<=10;a++){
        double h=100/Math.pow(2,a);     //第10次的值     Math.pow(2,a) 求2的a次幂
           sum=sum+h;       //累加
         System.out.println("第10次反弹"+h+"米");
          System.out.println("共经过"+sum+"米");
        
        }
}
思路及代码实现!经调试这次是对的,
回复 使用道具 举报
都是 大神
回复 使用道具 举报
  第一次掉下去弹回来50,掉下去50  共经过多少米    高度h还应该乘以2  sum=sum+h*2;  
第10次反弹0.09765625米
共经过299.8046875米
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马