Write a function that takes a positive integer as a parameter and displays the sum of all prime numbers less or equal to it.
Solution
// Define a function named addPrimeSum that takes a single parameter 'number'
function addPrimeSum(number) {
// Initialize a variable 'result' to store the sum of prime numbers, starting from 0
let result = 0;
// Define an inner function named isPrime that takes a single parameter 'num'
function isPrime(num) {
// If 'num' is less than 2, it is not prime, so return nothing (undefined)
if (num < 2) return;
// Loop from 2 to half of 'num' to check for factors
for (let i = 2; i <= num / 2; i++) {
// If 'num' is divisible by 'i', it's not prime, so return nothing (undefined)
if (num % i === 0) return;
}
// If no factors are found, return 'num' indicating it is a prime number
return num;
}
// Loop while 'number' is greater than 1
while (number > 1) {
// Check if 'number' is prime using the isPrime function
if (isPrime(number)) {
// If it is prime, add it to 'result'
result += number;
}
// Decrement 'number' by 1 to check the next lower number
number--;
}
// Return the total sum of all prime numbers found
return result;
}
console.log(addPrimeSum(5));
console.log(addPrimeSum(21));
console.log(addPrimeSum(100));
console.log(addPrimeSum(239));
console.log(addPrimeSum(956));
Solution
> 10
> 77
> 1060
> 5589
> 70241
Top comments (0)