为了账号安全,请及时绑定邮箱和手机立即绑定

(Java)一球从100米高度自有落下,每次落地后反弹跳回原高度的一半,在落下,求它在第12次落地时,共经过多少米,第9次反弹多高

(Java)一球从100米高度自有落下,每次落地后反弹跳回原高度的一半,在落下,求它在第12次落地时,共经过多少米,第9次反弹多高

慕神8447489 2018-12-06 16:45:07
一球从100米高度自有落下,每次落地后反弹跳回原高度的一半,在落下,求它在第12次落地时,共经过多少米,第9次反弹多高?   用Java实现
查看完整描述

4 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

public class Test {

public static void main(String[] args) {
double sum=100,height=100;
for(int i=1;i<=9;i++)//计算第一次落地到第九次落地再弹起小球经过多少米
{
height=height/2;
sum=sum+height*2;
}//循环结束,小球第十次落地
height=height/2;//第十次弹起的高度,按题意此时不再计算
System.out.println("第十次落地时的高度是:"+height+"\n小球共经过:"+sum+"米");
}

}

查看完整回答
反对 回复 2018-12-16
?
慕仙森

TA贡献1827条经验 获得超8个赞

等比数列求和?

查看完整回答
反对 回复 2018-12-16
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

给个思路,写两个方法,

  1. public int boundHeight(int initHeight, int times);
  2. public int sumHeight(int initHeight, int times);
    1通过最初的高度与反弹次数求出最后反弹的高度
    2调用1方法求出每次反弹的高度,求和
查看完整回答
反对 回复 2018-12-16
?
慕村225694

TA贡献1880条经验 获得超4个赞

public void test() {
  int j = 1; // 弹起的次数
  double z = 0; // 每次弹起时一共经过多少米
  double s = 100; // 每次落地时下一次反弹多少米
  while (s > 0) {
    z += s; // 每次落地时球经过的路程
    s = s / 2; // 每次落地时球下一次反弹多少米
    if (j == 12) {
      System.out.println("第十二次落地时经过的总路程为: " + z);
    }
    z += s; // 每次弹起到顶点时球经过的了路程
    if (j == 9) {
      System.out.println("第九次弹起高度为: " + s);
    }
    j += 1; // 弹起的次数
  }
}

查看完整回答
反对 回复 2018-12-16
  • 4 回答
  • 0 关注
  • 4121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信