sumPrimes

sum primes < = num

by trentHarlem

JavaScript

function isPrime(n) {
  if (n < 2) return false;
  /**
   * An integer is prime if it is not divisible by any prime less than or equal to its square root
   **/
  let q = Math.floor(Math.sqrt(n));
  for (let i = 2; i <= q; i++) {
    if (n % i == 0) {
      return false;
    }
  }
  return true;
}
 
function sumPrimes(num) {
  let total = 0
  let nums=[]
  for (let i=0; i<=num; i++) {
   nums.push(i)
  } 
  console.log(nums.filter(n=>isPrime(n)).reduce((a,c)=>a+c))
 return nums.filter(n=>isPrime(n)).reduce((a,c)=>a+c)
  }



/* 
function sumPrimes(num) {
  let result = 0
  for (let i = 0; i <= num; i++) {
    if (i % 1 === 0 && i % i === 0 ) {
      result += i
    }
  }
  console.log(result)
  return result;
}*/

sumPrimes(10);


/* for (let i = lowerNumber; i <= higherNumber; i++) {
    let flag = 0;

    // looping through 2 to user input number
    for (let j = 2; j < i; j++) {
        if (i % j == 0) {
            flag = 1;
            break;
        }
    }

    // if number greater than 1 and not divisible by other numbers
    if (i > 1 && flag == 0) {
        console.log(i);
    }
} */


/* 
const arr = Array.from({length: 1e4}, () => 100 + Math.floor(600 * Math.random()));

function getPrimesArr(max) {
    const sieve = [], primes = [];
    for (let i = 2; i <= max; i++) {
        if (!sieve[i]) {
            // i has not been marked -- it is prime
            primes.push(i);
            for (let j = i << 1; j <= max; j += i) {
                sieve[j] = true;
            }
        }
    }
    return primes;
}

function getPrimesObj(max) {
    const sieve = {}, primes = [];
    for (let i = 2; i <= max; i++) {
        if (!sieve[i]) {
            // i has not been marked -- it is prime
            primes.push(i);
            for (let j = i << 1; j <= max; j += i) {
                sieve[j] = true;
            }
        }
    }
    return primes;
}

function getPrimesFast(limit) {
    const r=[];
    if (limit < 2) return r;
    const sqrtlmt = limit**.5...