以下是我做的一个小函数,它应该列出1到1001之间的所有素数。它使用for循环来获取数字,然后使用另一个for循环来检查它是否为素数。一旦完成检查(如果它是素数),它会将数字推送到数组。这个数组应该在最后输出,但事实并非如此。提前谢谢。
<html>
<body>
<script>
function pNumList(){
var primeNumbers = [];
for(var noomber = 2; noomber<=1001; noomber++){
for(var i = 2; i<noomber; i++){
if(noomber%i==0){}else{
primeNumbers.push(noomber);
}
}
}
pNumbersList.innerHTML = primeNumbers;
}
</script>
<p id="pNumbersList"></p>
<button onclick="pNumList()" value = "Let's see em">Prime numbers list!</button>
<br>
<p>This might take a sec...</p>
</body>
</html>.
答案 0 :(得分:0)
这是工作代码:
function pNumList(){
var primeNumbers = [];
for(var noomber = 2; noomber<=1001; noomber++){
var prime = true;
for(var i = 2; i<noomber; i++){
if(noomber%i==0){
prime = false;
break;
}
}
if (prime) {
primeNumbers.push(noomber);
}
}
pNumbersList.innerHTML = primeNumbers.join(',');
}
答案 1 :(得分:0)
function pNumList(){
var primeNumbers = [];
for(var noomber = 2; noomber<=1001; noomber++){
for(var i = 2; i<noomber; i++){
if(noomber%i==0){}else{
primeNumbers.push(noomber);
}
}
}
pNumbersList.innerHTML = primeNumbers.toString();
您只需要使用toString将js数组转换为字符串; 但是你的algorythm stil不正确,每当noomber%i!= 0时,你都会为数组添加数字
答案 2 :(得分:-1)
这是正确的功能:
function pNumList(){
var primeNumbers = [];
for(var noomber = 2; noomber<=1001; noomber++){
for(var i = 2; i<noomber; i++){
if(noomber%i==0){
break;
}else{
primeNumbers.push(noomber);
break;
}
}
}
pNumbersList.innerHTML = primeNumbers;
}