-3

我尝试从 Java 脚本打印素数。但这不起作用。有人可以帮我解决这里的问题。

var n=1000;
var i=3;

for( var count = 2 ; var count <= var n ; )
{
  for( var c = 2 ; var c <= var i - 1 ; var c++ )
  {
    if( var i% var c == 0 )
      break;
  }
  if ( var c == var i )
  {
    document.write( count +'th place' );
    document.write( i );
    var count++;
  }
  var i++;
}
4

2 回答 2

1

您经常使用var关键字方式。

我更正了您的代码,看看我如何使用var声明,仅在第一次分配变量值时:

<script>
    var n = 1000;
    var i = 3;

    for (var count = 2; count <= n; count++)
    {
       for (var c = 2; c <= i - 1 ; c++)
       {
           if (i % c == 0)
               break;
       }

       if (c == i)
       {  
           document.write(count + 'th place');
           document.write(i);

           count++;
       }
       i++;
    }

</script>
于 2013-10-27T14:52:58.793 回答
0

不完全是您问题的答案,但非常相关。

埃拉托色尼筛

简而言之,检查每个数字是否为素数比直接生成素数要慢得多。

于 2013-10-27T14:56:08.967 回答