JavaScrpt判断一个数是否是质数的实例代码

废话不多说了,直接给大家贴代码了

<script>
  //1、非正则实现
  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
  }
  console.log(isPrime(19)) // true

  //2、用正则实现:
  function isPrime(num) {
    return !/^1?$|^(11+?)\1+$/.test(Array(num + 1).join('1'))
  }
  console.log(isPrime(19)) // true
</script>

以上所述是小编给大家介绍的JavaScrpt判断一个数是否是质数的实例代码 ,希望对大家有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。