这就是问题:如果一个整数大于 1 并且只能被 1 和它本身整除,则该整数被称为素数。例如,2、3、5和7是素数,但4、6、8和9不是素数。
a) 编写一个函数来确定一个数是否为素数。
b) 在脚本中使用此函数来确定并打印 1 到 10000 之间的所有素数。
在确定找到所有素数之前,您确实需要测试这 10000 个数字中的多少个?将结果显示在<textrarea>
.
这是我的代码:
function isPrime(n)
{
boolean prime=true;
if(n==1 || n==0)
{
prime= false;
}
if(n==2)
{
prime= true;
}
else
{
for(int i=2;i<n;i++)
{
if(n%i==0)
{
prime= false;
}
}
}
return prime;
}
function printPrimes()
{
document.writeln("<textarea rows="10" cols="15">");
for(var i=0; i<=1000; i++)
{
if(isPrime(i)==true)
{
document.writeln("<p>" + i + "</p>");
}
}
document.writeln("</textarea>");
}
printPrimes();
这是我的html:
<!DOCTYPE html>
<html>
<head>
<script src="prime.js" type="text/javascript"> </script>
</head>
<body>
<h1> Prime numbers between 1 and 1000 are: </h1>
</body>
当我在 chrome 上打开 html 文件时,仅显示标题,脚本似乎没有运行!
您正在将脚本导入<head>
,这就是它的输出将去的地方。尝试将其移至<body>
.
这可能是寻找素数最慢的方法。
edit——另一个问题是这样的:
for(int i=2;i<n;i++)
没有int
JavaScript 中的关键字 - 它是var
。这会导致语法错误,该错误会显示在错误控制台中。也没有一个boolean
关键字(“prime”的声明)。在进行任何 HTML/JavaScript 开发时,保持错误控制台打开非常重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)