Sum All Prime Numbers

Hello,

I’m trying to understand one of the solutions to the - “Sum all prime numbers” challenge.

Can someone explain to me how 9 which is not a prime number will not pass the conditons underneath? it is odd so will not return false for the first part and is not equal to 0 or 1.

//function to check if a number is prime or not
function isPrime(x) {
  for (let i = 2; i < x; i++) {
    if (x % i === 0) return false;
  }
  return x !== 1 && x !== 0;
}

There is a loop in there

  for (let i = 2; i < x; i++) {
    if (x % i === 0) return false;
  }

In side of this loop, you check if x % 2 === 0, x % 3 === 0, …, x % (x - 1) === 0.

I’ve edited your post for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (</>) to add backticks around text.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (’).

1 Like

Thanks for the reply, and i’ll be sure to do this for future posts.

So when x = 9 and i = 3 this means x % i === 0 this returns false?

Exactly

1 Like