废话不多说了,直接给大家贴代码了
<script>
//1、非正则实现
function isPrime(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.log(isPrime(19)) // true
//2、用正则实现:
function isPrime(num) {
return !/^1?$|^(11+?)\1+$/.test(Array(num + 1).join('1'))
}
console.log(isPrime(19)) // true
</script>
以上所述是小编给大家介绍的JavaScrpt判断一个数是否是质数的实例代码 ,希望对大家有所帮助。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。