As simple as possible:
function isPrime(num) {
for(var i = 2; i < num; i++)
if(num % i === 0) return false;
return num > 1;
}
With the ES6 syntax:
const isPrime = num => {
for(let i = 2; i < num; i++)
if(num % i === 0) return false;
return num > 1;
}
You can also decrease the complexity of the algorithm from O(n) to O(sqrt(n)) if you run the loop until square root of a number:
const isPrime = num => {
for(let i = 2, s = Math.sqrt(num); i <= s; i++)
if(num % i === 0) return false;
return num > 1;
}
A small suggestion here, why do you want to run the loop for whole n numbers?
If a number is prime it will have 2 factors (1 and number itself).
If it’s not a prime they will have 1, number itself and more, you need not run the loop till the number, may be you can consider running it till the square root of the number.
You can either do it by euler’s prime logic.
Check following snippet:
function isPrime(num) {
var sqrtnum=Math.floor(Math.sqrt(num));
var prime = num != 1;
for(var i=2; i