问答详情
源自:4-5 重复重复(for循环)

这个for循环需要计算

 

 一个球距离地面100米 

自由落下来,每次落地弹起高度为原来高度的一半,在落下,一次类推,第十次球弹起的高度为多少 ?整个过程,球运动了多少米?


提问者:2015415happy 2016-04-25 22:59

个回答

  • 大神在路上
    2016-06-11 19:44:16

    <script type="text/JavaScript">

    //初始高度100米,sum为球总运行路程;

    var h=100; 

    var sum=0;

    //理想情况会一直运动下去,这里假设弹起1000次

    for(var i=1;i<=1000;i++){

         var n=Math.pow(2,i);//n=2的i次方

            sum=300/n+sum;//

            h=0.5*h;

            document.write("第"+i+"次球弹起的高度为:"+h+"米"+"运动路程为:"+sum+"<br/><br/>")

            if(i==10){

                document.write("第10次弹起的高度为:"+ h+"米,<br/>球运动了:"+sum+"米");

                break;

                }

          }

    </script>


  • 死宅男
    2016-04-27 18:02:23

    你运行下看看,显示了每次弹起的高度和已经运行的路程;

    回复 2015415happy:<script language="javascript">

    //初始高度100米,sum为球总运行路程;

    var h=100; 

    var sum=0;

    //理想情况会一直运动下去,这里假设弹起1000次

    for(var second=1;second<=1000;second++){

            sum=1.5*h+sum;

            h=0.5*h;

            document.write("第"+second+"次球弹起的高度为:"+h+"米"+"运动路程为:"+sum+"<br/><br/>")

            if(second==10){

                document.write("第10次弹起的高度为:"+ h+"米,<br/>球运动了:"+sum+"米");

                break;

                }

          }

    </script>


  • DangCode
    2016-04-26 22:08:43

    每次反弹都是上一次高度的一一半 那10次后反弹的高度也不为零啊 20次也不为零 100此也不为零 因为99此有高度 直到无数次的时候才接近零

  • qq_神夕_0
    2016-04-26 00:16:59

    var fixedDistance = 100;
    var heightOf10TH = 0;
    var totalDistance = 0;
    for (var i = 0; i < 10; i++) {
        totalDistance += fixedDistance;
        fixedDistance /= 2;
        if(i == 9) {
            heightOf10TH = fixedDistance;
        }
    }
    document.write("球共运动了: " + (totalDistance + 100) + "米<br />");
    document.write("球在第十次弹起的高度为: " + heightOf10TH + "米<br />");
    
    正确解答 ^ 
    最后第二行的+100是计算首次降落的距离


  • qq_神夕_0
    2016-04-26 00:12:04

    var fixedDistance = 100;
    var heightOf10TH = 0;
    var totalDistance = 0;
    for (var i = 0; i < 10; i++) {
        fixedDistance /= 2;
        totalDistance += fixedDistance;
        if(i == 9) {
            heightOf10TH = fixedDistance;
        }
    }
    document.write("球共运动了: " + totalDistance + "米<br />");
    document.write("球在第十次弹起的高度为: " + heightOf10TH + "米<br />");


  • 死宅男
    2016-04-26 00:06:20

    上面是试了试第二次的,下面为弹起10次的:

    <script language="javascript">

    //初始高度100米,sum为球总运行路程;

    var h=100; 

    var sum=0;

    //理想情况会一直运动下去,这里假设弹起1000次

    for(var second=1;second<=1000;second++){

            sum=1.5*h+sum;

            h=0.5*h;

            if(second==10){

                document.write("第10次弹起的高度为:"+ h+"米,<br/>球运动了:"+sum+"米");

                break;

                }

          }

    </script>


  • 死宅男
    2016-04-26 00:04:04

    <script language="javascript">

    //初始高度100米,sum为球总运行路程;

    var h=100; 

    var sum=0;

    //理想情况会一直运动下去,这里假设弹起1000次

    for(var second=1;second<=1000;second++){

            sum=1.5*h+sum;

            h=0.5*h;

            if(second==2){

                document.write("第2次弹起的高度为:"+ h+"米,<br/>球运动了:"+sum+"米");

                break;

                }

        }

    </script>


  • 普若米斯
    2016-04-25 23:45:13

    var h=100;

    for(var i=0;i<10;i++){

    h=h/2;

    }

    document.write(h);