题解 | #判断质数#
判断质数
http://www.nowcoder.com/practice/b936f737e2b34b3199a7c875446edd06
关键点:
- 质数的定义,不能被除了1和它本身的数字因式分解的数字,对应到数学的概念就是取余为0
- 定义在上的方法在,调用时候通过 操作数.方法名 形式进行调用,在方法内部可以通过this拿到操作数 但是有个点需要注意,(number).方法(),在方法内部拿到的this是一个Number对象,不是数字类型
- 在对数字逐位取余的过程中,不需要计算到最后,遍历到 1/2 位置就可以得出结果
Number.prototype._isPrime = function() {
number = +this;
if (typeof number !== 'number') return false;
else {
if (number === 2) return true;
if (number > 2) {
for (let i = 1; i <= Math.ceil(number / 2); i++) {
if (number % i === 0 && i !== 1) return false;
}
return true;
}
}
}