在javascript中打印最多100个

时间:2017-02-24 21:00:43

标签: javascript



<!DOCTYPE HTML>
<html>
<head>
  <script>
    var i, j, k = 1;
    for (i = 3; i < 100; i++) {
      for (j = 2; j < i; j++) {
        if (i % j == 0) {
          k = 0;
          break
        }
      }
    }
    if (k == 1) {
      alert(i);
    }
  </script>
</head>
<body>
</body>
</html>
&#13;
&#13;
&#13;

我试图在js中打印2到100的素数。但是代码没有产生预期的结果。请帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

首先,您只需要在for循环中检查j <= (i/2) 您的if(k==1)也需要位于外部for循环

    var i, j;
    for (i = 3; i < 100; i++) {
        var k = 1;
        for (j = 2; j <= i / 2; j++) {
            if (i % j == 0) {
                prime = false;
                k = 0;
                break;
            }
        }
        if (k == 1) {
            console.log(i);
        }
    }