javascript - 如何生成 100 个随机数并检查每个随机数的素数?

标签 javascript

编写一个名为 isPrime 的 bool 函数,它接受一个整数作为参数,如果参数是质数则返回 true,否则返回 false。生成 100 个随机数并显示检查每个随机数的素性的结果。

这应该输出质数的随机数(在真或假检查之后),但我按顺序得到了 2 组数字的结果。

这是我的代码:

var arr = []

while(arr.length < 100){
    var randomnumber=Math.ceil(Math.random()*100)
    var found=false;

    for(var i=0;i<arr.length;i++){
        if(arr[i]==randomnumber){found=true;break}
    }
    if(!found)arr[arr.length]=randomnumber;
}

    console.log(arr);

for(i = 0; i < 100; i++){
    if(isPrime(i)) console.log(i);
}

function isPrime(num) {
    if(num < 2) return false;
    for (var i = 2; i < num; i++) {
        if(num%i==0)
            return false;
    }
    return true;
}

最佳答案

您需要检查 arr[i] 而不是 i 的素数:

for(i = 0; i < 100; i++){
    if(isPrime(arr[i])) console.log(arr[i]);
}

关于javascript - 如何生成 100 个随机数并检查每个随机数的素数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32684122/

相关文章:

javascript - 单击 <audio> 上的播放按钮时触发功能

javascript - 无法理解 Javascript 中的指令

javascript - 使用 VueJS 从一个 Firestore 集合中获取所有列表

javascript - 在 HTML 文件中包含另一个 HTML 文件

javascript - 如何循环发出异步请求?

javascript - 在调用提交之前从 fckeditor 设置表单值

javascript - 生成 0 到 x 之间但不超过 10 的随机数

javascript - 使用不同的输入数据重复一个对象

javascript - 为什么 MS Ajax 在创建对象方法时使用命名 JS 函数?

javascript - onmouseover 影响取消 span 标签中的换行符