赞
踩
在这道题目中,我们需要写一个函数,它接收一个数字参数num
,返回值为不大于这个数字的所有质数之和。
质数是大于 1 且仅可以被 1 和自己整除的数。比如,2 就是一个质数,因为它只可以被 1 和 2(它本身)整除。
注意,传入函数的num
不一定是质数。
- sumPrimes(10)应该返回一个数字。
- sumPrimes(10)应该返回 17。
- sumPrimes(977)应该返回 73156。
- function sumPrimes(num) {
- let nums = []; // 小于num的素数
- function testPrime(num) {
- for (let i=2; i<num; i++) {
- if (num%i===0){
- return false
- }
- }
- return true
- }
- for (let i=2;i<=num; i++) {
- if (testPrime(i)) {
- nums.push(i)
- }
- }
- let sum = nums.reduce((prev,current,index,arr)=>{
- return prev+current
- })
- return sum;
- }
-
- sumPrimes(10);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。