JS 验证一个数字是否为质数

155 阅读1分钟

上次接触质数还是个小学生。都忘记了质数的定义。百科上是这样解释的:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 上代码~

function isPrimeNumber (num) {
    // 判断是否为大于1的整数
    if (num < 2 || !Number.isInteger(num)) {
        return false
    }
    for (var i = 2; i <= num - 1; i++) {
        // 如果能被比数字小的数(从2开始)除得尽的话 就不是一个质数
        if (num %i === 0) {
            return false
        }
    }
    return true
}

isPrimeNumber(1) // false
isPrimeNumber(2) // true
isPrimeNumber(2.5) // false
isPrimeNumber(13) // true
isPrimeNumber(100) // false