JS 判断一个数是否是质数(两种办法)

JavaScript015

JS 判断一个数是否是质数(两种办法),第1张

首先什么质数? 质数就是大于一的自然数中,只能被自己和1整除的数。了解了这个 很容易就能写出判断条件

普通写法:

利用算法的写法:

原理:一个数如果可以进行因数分解,那么必定一个因数<=他的平方根 另一个因数>=他的平方根 那么只需要从2开始 到平方根为止,如果能被整除 就代表不是质数。 (拿16举例,只要能被2整除就代表能被8整除所以只用判断一边)

function isPrime(num) {

      if (num == 1)

        return false

      if (num == 2 || num == 3)

        return true

      if (num % 6 != 1 && num % 6 != 5)

        return false

      var temp = Math.sqrt(num)

      for (var i = 5 i <= temp i += 6) {

        if (num % i == 0 || num % (i + 2) == 0)

          return false

      }

      return true

    }

    

    isPrime(17) // true

function checkPrimeNum(num){

if(num<2){

return false

}

for(var i=2i<numi++){

if(num%i==0){

return false

}

}

return true

}