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...