以下代码怎么答案不对啊?<html>
<head>
<title>while循环</title>
<script>
var sum=1,x=2,a=1.0;
while(a>0.000001)
 {
  a=1.0/x;
  sum+=(-1*a);
  x*=2;
  }
  alert(sum);
</script>
</head>
</html>
  
  请高手帮帮忙啊!

解决方案 »

  1.   

      你的循环用错了While是死循环,该改为if
      

  2.   

    sum=1-1/2+1/4-1/8……+1/n    且(1/n)<0.000001求sum
      

  3.   

    var sum = 1, n = 2, t = -1;
    var msg = [];
    while ((1 / n) > 0.000001) {
        sum += t * 1 / n;
        t = -t;
        n += 2;
    }
    alert(sum);x*=2; -> x+=2;
      

  4.   

    <script>
    var sum=1,x=2,a=1.0;
    if(a>0.000001)
     {
      a=1.0/x;
      sum+=(-1*a);
      x*=2;
      }
      alert(sum);
    </script>
      

  5.   

    应该是这样:
    <script>
    var sum=1,x=2,a=1.0;
    if(a>0.000001)
    {
      a=1.0/x;
      sum+=(-1*a);
      x*=-2;
     }
      alert(sum);
    </script>
      

  6.   

    <html>
    <head>
    <title>while循ッs</title>
    <script>
    var sum=1,x=-2,a=1.0;
    while(Math.abs(a)>0.000001)
     {
      a=1.0/x;
      sum+=a;
      x*=-2;
      }
      alert(sum);
    </script>
    </head>
    </html>
      

  7.   

    感觉楼上的解答都不正确呢,还是我的数学太差了,
    写一下在草纸上的解答顺序:
    已知:sum=1-1/2+1/4-1/8……+1/n 且(1/n)<0.000001求sum?
                            0     1     2         m       m
    解:按题意可知,求:1/2  +1/2  +1/2  +...+1/2    且1/2  <0.000001 ,求sum。
                m                          m
        即:1/2  < 1/1000000,==>1000000< 2   .