JavaScrpt判斷一個數(shù)是否是質數(shù)的實例代碼
更新時間:2017年06月11日 09:00:29 作者:longzhoufeng
本文通過實例代碼給大家分享了JavaScrpt判斷一個數(shù)是否是質數(shù),需要的朋友參考下吧
廢話不多說了,直接給大家貼代碼了
<script>
//1、非正則實現(xiàn)
function isPrime(num) {
// 不是數(shù)字或者數(shù)字小于2
if(typeof num !== "number" || !Number.isInteger(num)) {
// Number.isInterget 判斷是否為整數(shù)
return false
}
//2是質數(shù)
if(num == 2) {
return true
} else if(num % 2 == 0) { //排除偶數(shù)
return false
}
//依次判斷是否能被奇數(shù)整除,最大循環(huán)為數(shù)值的開方
var squareRoot = Math.sqrt(num)
//因為2已經驗證過,所以從3開始;且已經排除偶數(shù),所以每次加2
for(var i = 3; i <= squareRoot; i += 2) {
if(num % i === 0) {
return false
}
}
return true
}
console.log(isPrime(19)) // true
//2、用正則實現(xiàn):
function isPrime(num) {
return !/^1?$|^(11+?)\1+$/.test(Array(num + 1).join('1'))
}
console.log(isPrime(19)) // true
</script>
以上所述是小編給大家介紹的JavaScrpt判斷一個數(shù)是否是質數(shù)的實例代碼 ,希望對大家有所幫助。
相關文章
CommonJS與ES6?Module的使用區(qū)別分析
這篇文章主要為大家介紹了CommonJS與ES6?Module的使用區(qū)別分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04

