zoukankan      html  css  js  c++  java
  • Sum All Primes

    求小于等于给定数值的质数之和。

    只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 2 整除。1 不是质数,因为它只能被自身整除。

    给定的数不一定是质数。

     

    注意: 
    for(var i=2;i<=Math.sqrt(num);i++)这里进行了部分优化,可以减少循环次数: 
    判断一个数是否是质数,只需要判断是否能被2~√num整除即可。

     

    //判断num是否是质数
    function isPrime(num){
      //标记是否是质数,初始值是true
      var flag=true;
      //质数:只能被1和本身整除
      //如果num可以整除2~Math.sqrt(num)中的任意一个数,则num不是质数,改变标记flag,并终止循环
      for(var i=2;i<=Math.sqrt(num);i++){
        if(num%i===0)
        {
          flag=false;
          break;
        }
      }
      return flag;
    }
    
    function sumPrimes(num) {
      var sum=0;
      //循环判断i=2~num是否是质数,如果是,与sum求和
      for(var i=2;i<=num;i++){
        if(isPrime(i))
          sum+=i;
      }
      return sum;
    }
    
    sumPrimes(10);
  • 相关阅读:
    Java之IO(一)InputStream和OutputStream
    bitset库
    assert
    C++ 与 Python 混合编程
    C++多线程
    C++11新特性
    C++性能优化指南
    C++随机数
    C++中struct与class的区别
    C++杂记
  • 原文地址:https://www.cnblogs.com/fffangrui/p/6114070.html
Copyright © 2011-2022 走看看