Summation of primes

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.

Find the sum of all the primes below n.

primeSummation(17) should return 41.
primeSummation(2001) should return 277050.
primeSummation(140759) should return 873608362.
primeSummation(2000000) should return 142913828922.

Solutions

Solution: 1

function primeSummation(n) {

  if(n<2){
    return 0;
  }

  
  let primeArray = Array(n).fill(true);
  
  primeArray[0] = primeArray[1] = false;
  
  for(let i=2;i<=Math.sqrt(n);i++){
    if(isPrime(i)){
      for(let j=i*i;j<n;j+=i){
        primeArray[j] = false;
      }
      
    }
  }

  let sum = 0;
  for(let i=0;i<n;i++){
    if(primeArray[i]){
      sum+=i;
    }
  }
  
  return sum;
}

// verif if a number is prime
function isPrime(num){
  for(let i = 2;i<=Math.sqrt(num);i++){
    if(num%i === 0){
      return false;
    }
  }

  return true;
}