Quick actions

cmd+k|ctrl+k

Navigation

Languages

isPrime

Snippet info

Language

JavaScript

Visibility

public

Author

pheker

Created

2018-04-22T04:53:58Z

Updated

2018-04-22T05:11:55Z

console.log("Hello World!");


function isPrime(n) {
  return !/^1?$|^(11+?)\1+$/.test('1'.repeat(n))
}

function isPrime2(n) {
  return !/^.?$|^(..+?)\1+$/.test('1'.repeat(n))
}
function isPrime3(n) {
  return !/^[\s\S]?$|^([\s\S][\s\S]+?)\1+$/.test('1'.repeat(n))
}
function isPrime4(num){
    // 不是数字或者数字小于2
    if(typeof num !== "number" || !Number.isInteger(num)){      // Number.isInterget 判断是否为整数
        return false;
    }

    //2是质数
    if(num === 2){
        return true; 
    }else if(num % 2 === 0){  //排除偶数
        return false;
    }
    //依次判断是否能被奇数整除,最大循环为数值的开方
    var squareRoot = Math.sqrt(num);
    //因为2已经验证过,所以从3开始;且已经排除偶数,所以每次加2
    for(var i = 3; i <= squareRoot; i += 2) {
      if (num % i === 0) {
         return false;
      }
    }
    return true;
}

console.time("正则")
console.log(isPrime(5017))
console.timeEnd("正则")

console.time("正则.")
console.log(isPrime2(5017))
console.timeEnd("正则.")

console.time("正则[\\s\\S]")
console.log(isPrime2(5017))
console.timeEnd("正则[\\s\\S]")

console.time("程序")
console.log(isPrime3(5017))
console.timeEnd("程序")
INFO