当前位置:   article > 正文

pta函数统计素数并求和_freeCodeCamp算法中级:对所有素数求和

统计素数并求和pta

b3d36f0498da4d96f064258f98eb7ab8.png

题目

在这道题目中,我们需要写一个函数,它接收一个数字参数 num,返回值为不大于这个数字的所有质数之和。
质数是大于 1 且仅可以被 1 和自己整除的数。比如,2 就是一个质数,因为它只可以被 1 和 2(它本身)整除。
注意,传入函数的 num不一定是质数。

测试用例

  1. sumPrimes(10)应该返回一个数字。
  2. sumPrimes(10)应该返回 17
  3. sumPrimes(977)应该返回 73156

解题思路

  1. function sumPrimes(num) {
  2. let nums = []; // 小于num的素数
  3. function testPrime(num) {
  4. for (let i=2; i<num; i++) {
  5. if (num%i===0){
  6. return false
  7. }
  8. }
  9. return true
  10. }
  11. for (let i=2;i<=num; i++) {
  12. if (testPrime(i)) {
  13. nums.push(i)
  14. }
  15. }
  16. let sum = nums.reduce((prev,current,index,arr)=>{
  17. return prev+current
  18. })
  19. return sum;
  20. }
  21. sumPrimes(10);

收获

  1. 如何判断一个数为素数
  2. reduce 数组求和方法
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/329132
推荐阅读
相关标签
  

闽ICP备14008679号