📅  最后修改于: 2023-12-03 15:41:11.202000             🧑  作者: Mango
在计算机科学中,素数是在正整数范围内只能被1和其本身整除的整数。素数之和指在一个范围内所有素数的总和。
在 JavaScript 中,可以使用以下方法来计算素数之和:
function isPrime(num) {
if (num < 2) return false;
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) return false;
}
return true;
}
function primeSum(num) {
let sum = 0;
for (let i = 2; i <= num; i++) {
if (isPrime(i)) sum += i;
}
return sum;
}
这里我们定义了两个函数,isPrime
函数用来判断一个数字是否为素数,primeSum
函数则是用来计算素数之和。
在 isPrime
函数中,我们首先判断给定数字是否小于2,若小于2,则不是素数。接着我们使用 for 循环从 2 开始遍历到 Math.sqrt(num),因为一个数的因子最多只有一对大于它的平方根,所以我们只需要遍历到平方根,遍历过程中,若该数能被 i 整除,则该数不为素数,返回 false。
在 primeSum
函数中,我们使用一个循环从 2 到 num,判断每个数是否为素数,若是则将其加入 sum 中。最后返回 sum 即可。
以上是计算素数之和的一种简单实现,在大数据量下可能不够高效。但是可以在此基础上进行优化,如使用筛法等。