
编写一个函数,以正整数为参数,并显示小于或等于它的所有素数之和。
解决方案
// 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));
解决方案
> 10 > 77 > 1060 > 5589 > 70241

















