isPrime

来源:互联网 发布:淘宝十大人气主播 编辑:程序博客网 时间:2024/06/05 18:17

摘抄
isPrime
首先, 因为不能信任传递来的数据类型。需要做输入检查。

需要记住的第二点,负数不是质数。同样的,1和0都不是,因此,要对这些数字做检测。另外,2是偶数又是质数。没有必要用一个循环来验证偶数。。

最后,不需要检查比输入数字的开方还要大的数字。

function isPrime(number) {   // If your browser doesn't support the method Number.isInteger of ECMAScript 6,   // you can implement your own pretty easily   if (typeof number !== 'number' || !Number.isInteger(number)) {      // Alternatively you can throw an error.      return false;   }   if (number < 2) {      return false;   }   if (number === 2) {      return true;   } else if (number % 2 === 0) {      return false;   }   var squareRoot = Math.sqrt(number);   for(var i = 3; i <= squareRoot; i += 2) {      if (number % i === 0) {         return false;      }   }   return true;}
原创粉丝点击