JS中找出1~100的质数?

JavaScript019

JS中找出1~100的质数?,第1张

方法1:alert("2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97")

方法2:

function prime(n){

    var primeArr = [2]

    var isPrime = function(num){

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

          for(var j=2j<ij++){

               if(i%j==0){

                    return false

                    break

               }

          }

        }

        return true

    }

    if(isNaN(n) || n < 1){

        return []

    }

    for(var i = 3,  i < n i++){

        if(isPrime(i)){

            primeArr.push(i)

        }

    }

    return primeArr

}

prime(100)

// 定义函数,计算是不是质数, 只能被1和自己整除的数

function isPrime(n) {

    if (n <= 3) { return n > 1 }

    if (n % 2 == 0 || n % 3 == 0) { return false }

 

    for (var  i = 5 i * i <= n i += 6) {

        if (n % i == 0 || n % (i + 2) == 0) { 

            return false 

        }

    }

    return true

}

// 测试

console.log(isPrime(2)) // true

console.log(isPrime(3)) // true

console.log(isPrime(4)) // false

console.log(isPrime(5)) // true

运行结果: