在数组Javascript中查找下一个素数
昨天我有一个面试问题,它一直困扰着我,我想知道如何在数组的数字行中得到下一个素数在数组Javascript中查找下一个素数,javascript,arrays,primes,Javascript,Arrays,Primes,昨天我有一个面试问题,它一直困扰着我,我想知道如何在数组的数字行中得到下一个素数 function isPrime(num) { for (var i = 2; i < Math.sqrt(num) + 1; ++i) { if (num % i === 0) { return false; } } return num !== 1; } function getNextPrime(prime) {
function isPrime(num) {
for (var i = 2; i < Math.sqrt(num) + 1; ++i) {
if (num % i === 0) {
return false;
}
}
return num !== 1;
}
function getNextPrime(prime) {
for (var count = prime + 1; ; ++count) {
if (isPrime(count)) {
break;
}
}
return count;
}
console.log(getNextPrime([1, 2, 3, 4, 5]));
console.log(getNextPrime([2, 7, 11, 13]));
console.log(getNextPrime([19, 2, 13, 4]));
console.log(getNextPrime([2, 4, 6, 8]));
函数isPrime(num){
对于(var i=2;i
//是否在数组的最后一个元素旁边素数?
函数isPrime(num){
对于(var i=2;ia-b);
var last=sortedArray[sortedArray.length-1];
对于(变量计数=最后一次+1;;++计数){
如果(iPrime(计数)){
打破
}
}
返回计数;
}
log(getnexttime([1,2,3,4,5]);
log(getnexttime([2,7,11,13]);
log(getnexttime([19,2,13,4])代码>
const isPrime=函数(n){
if(isNaN(n)| |!isFinite(n)| | n%1 | | | n下一个是什么--数组的最后一个元素?你想对prime+1
做什么?是他们在采访中给你的所有数据吗?为什么假设它来自最后一个元素?如果数组是[5,4,3,2,1]
您返回了3
,但他们不希望重复,所以答案应该返回7
?我应该澄清一下,他们希望下一个数字被放入数组中。console.log(GetNextTime([1,2,3,4,5]);=>[1,3,5,4,7];//非素数保留在数组控制台中。log(GetNextTime([2,7,11,13]);=>[3,11,13,17]console.log(GetNextTime([19,2,13,4]);=>[23,3,17,4]//非素数保留在数组中