如何判断一个数是否为素数?如果不是,如何增加数字,直到函数返回下一个素数?



事情是我相信我已经构建了使其发生的代码,问题是我试图将其用作jchallenger.com挑战的答案,但页面不接受我的代码作为有效的答案。

谁能解释给我为什么网站不接受我的代码,我怎么能解决它?我的代码是正确的,对吧?

下面是我的代码:

function checkPrime(number) {
for (var i = 2; i < number; i++) {
if (number % i === 0) {
return false;
}
}
return true;
}
function myFunction(number) {
if (checkPrime(number)) {
return number;
} else {
while (checkPrime(number) === false) {
number++;
}
}
return number;
}
console.log(myFunction(38)); //the return should be 41
console.log(myFunction(7)); //the return should be 7
console.log(myFunction(115)); //the return should be 127
console.log(myFunction(2000)); //the return should be 2003

看起来该网站只允许您拥有该功能而没有其他功能。特别是在这种情况下:没有单独的功能。因此,如果我把checkPrime函数放入myFunction中,它将成功通过。

function myFunction(number) {
function checkPrime(number) {
for (var i = 2; i < number; i++) {
if (number % i === 0) {
return false;
}
}
return true;
}
if (checkPrime(number)) {
return number;
} else {
while (checkPrime(number) === false) {
number++;
}
}
return number;
}
function myFunction(a) {
for (let i = 2; i < a; i++) {
if (a % i === 0) {
return myFunction(++a);
}
}
return a;
}

相关内容

  • 没有找到相关文章