zoukankan      html  css  js  c++  java
  • JS判断一个数是否为质数

    质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数

    2 3 5 7 11 13 17 19 23 29
    31 37 41 43 47 53 59 61 67 71
    S1 20个
    73 79 83 89 97
    100以内共25个
    
    function isPrime(num){
        // 不是数字或者数字小于2
        if(typeof num !== "number" || !Number.isInteger(num)){      // Number.isInterget 判断是否为整数
            return false;
        }
    
        //2是质数
        if(num == 2){
            return true; 
        }else if(num % 2 == 0){  //排除偶数
            return false;
        }
        //依次判断是否能被奇数整除,最大循环为数值的开方
        var squareRoot = Math.sqrt(num);
        //因为2已经验证过,所以从3开始;且已经排除偶数,所以每次加2
        for(var i = 3; i <= squareRoot; i += 2) {
          if (num % i === 0) {
             return false;
          }
        }
        return true;
    }
    
    // 质数求和
    function count(range){
        var counter = 0;
        for(var i = 0; i < range; i++){
            if(isPrime(i)){
                counter += i;
            }
        }
        return counter;
    }
    
    alert(count(25));
  • 相关阅读:
    详解 注解
    线段树分治
    实用Trick
    CF932F(李超线段树+dp)
    CF24D Broken robot(高斯消元)
    LCT学习笔记
    [HNOI2008]GT考试
    [AHOI2009]中国象棋
    [APIO2012]派遣
    CF961G Partitions
  • 原文地址:https://www.cnblogs.com/alantao/p/6508571.html
Copyright © 2011-2022 走看看