我的素数函数坏了,但我没有;我不知道为什么
My prime number function is broken but I don't know why
下面是我制作的一个小函数,它应该列出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>.
以下是工作代码:
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(',');
}
JSFIDDLE
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数组转换为字符串;但你的算法仍然不正确,你每次在编号为%i的时候都会向数组中添加数字=0
下面是正确的函数:
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;
}
相关文章:
- 这个旋钮没有更新;我不知道为什么
- 我不知道为什么我的代码是错误的?又有什么错
- I'我不知道为什么我的代码没有'不起作用
- sqlite查询返回错误-can'我不知道为什么
- 我没有'我不知道为什么我的jqGrid子网格没有'不要给我看数据
- 我的素数函数坏了,但我没有;我不知道为什么
- 当我从struts2操作在js函数中获得JSONArray时,它是空的,我不知道为什么
- 可以'我不知道为什么这个数字赢了;t增量
- 我不知道为什么ng repeat在我的代码中不起作用
- 历史.推送状态错误,我不知道为什么
- 我的 innerHTML 命令没有改变任何东西,我不知道为什么
- JavaScript Validator 一直在说关于第 11 行的意外“如果”,我不知道为什么
- 我的地理位置(javascript)不起作用,我不知道为什么
- 我不知道为什么这个画布是空的
- 石头剪刀布蜥蜴斯波克游戏逻辑偶尔会输出错误的赢家,我不知道为什么
- ajax 请求失败,我不知道为什么
- 我的网站运行缓慢,我不知道为什么
- 我不知道为什么我在 JavaScript 中的函数 Flip() 没有返回任何内容.我希望它是正面或反面,它就会返回
- 帆布罪恶曲线模糊了很多.我不知道为什么它模糊了
- JQuery 无法加载.我不知道为什么.这是一个完全的谜