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

age*_*123 0 javascript

编写一个名为Boolean的函数isPrime,该函数将整数作为参数,如果参数为素数,则返回true,否则返回true.生成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;
}
Run Code Online (Sandbox Code Playgroud)

And*_*cia 5

你需要检查primality arr[i]而不是i:

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