使用js判断一个数是否是质数,代码如下:
/**
* 是否存在[true存在,false不存在]
* @param argument
* @param {array} opt 这里面的值是代表“不存在”
* @return {boolean}
*/
function is_exist(argument, opt) {
opt || (opt = ["", null, false, undefined]);
for (var k in opt) {
if (opt[k] === argument) {
return false;
}
}
return true;
}
/**
* 是否是质数(素数)
* @param {number} number
* @param {boolean} range_num true的话返回number数字范围的所有质数
* @returns {boolean|array|*}
*/
function prime_number(number, range_num) {
if (is_exist(range_num)) {
var arg3 = [];
for (var i = 2; i <= number; i++) {
prime_number(i) && arg3.push(i);
}
return arg3;
} else {
number = parseInt(number);
if ( number <= 3) {
return number > 1;
} else {
for (var n = 2; n < number; n++) {
if (number % n === 0) {
return false;
}
}
}
return true;
}
}