javascript - 测试素数。值未推入数组
问题描述
我试图将值推入数组,然后如果数组只包含两个值,则将其声明为质数。出于某种原因,for 循环似乎没有将任何值发送到数组中......
function primeOrNot() {
var input = parseInt(prompt('Please, give me a number'));
var list = [];
list.push(1);
list.push(input);
for (var i = 2; i < input / 2; i++) {
if (Math.floor(input / i) == input / i) {
list.push(i);
}
if (list.length == 2) {
alert('The number you chose is a prime number.');
} else 'The number you chose is not a prime number. You lose.';
}
console.log(list);
}
primeOrNot();
解决方案
您缺少}
. else
这有效:
function primeOrNot() {
var input = parseInt(prompt("Please, give me a number"));
var list = [];
list.push(1);
list.push(input);
for(var i=2; i<input/2; i++){
if (Math.floor(input/i) == input/i) list.push(i);
}
if(list.length == 2){
alert("The number you chose is a prime number.");
} else alert("The number you chose is not a prime number. You lose.")
console.log(list);
}
primeOrNot();
推荐阅读
- javascript - 检查版本是否优于另一个
- mysql - wso2是集群mysql的api管理器数据库配置
- shell - 通过 shell 运行 hive 命令得到错误
- swift - 稍后在 SwiftUI 中传递类型名称以进行初始化
- django - 如何从 DRF 中的视图集中对返回的列表进行分页?
- c# - 使用 NAudio 无法正确生成方波
- java - 我们如何在 Firebase 实时数据库中为每个用户设置规则读取由另一个用户添加但用户只能删除自己的数据的数据?
- ruby-on-rails - 如何在方法中调用变量?
- angular - 过滤数组并不断获取数据
- java - 在嵌套对象集合中搜索