溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScrpt判斷一個(gè)數(shù)是否是質(zhì)數(shù)的實(shí)例代碼

發(fā)布時(shí)間:2020-09-26 14:55:41 來源:腳本之家 閱讀:145 作者:longzhoufeng 欄目:web開發(fā)

廢話不多說了,直接給大家貼代碼了

<script>
  //1、非正則實(shí)現(xiàn)
  function isPrime(num) {
    // 不是數(shù)字或者數(shù)字小于2
    if(typeof num !== "number" || !Number.isInteger(num)) {
      // Number.isInterget 判斷是否為整數(shù)
      return false
    }
    //2是質(zhì)數(shù)
    if(num == 2) {
      return true
    } else if(num % 2 == 0) { //排除偶數(shù)
      return false
    }
    //依次判斷是否能被奇數(shù)整除,最大循環(huán)為數(shù)值的開方
    var squareRoot = Math.sqrt(num)
    //因?yàn)?已經(jīng)驗(yàn)證過,所以從3開始;且已經(jīng)排除偶數(shù),所以每次加2
    for(var i = 3; i <= squareRoot; i += 2) {
      if(num % i === 0) {
        return false
      }
    }
    return true
  }
  console.log(isPrime(19)) // true

  //2、用正則實(shí)現(xiàn):
  function isPrime(num) {
    return !/^1?$|^(11+?)\1+$/.test(Array(num + 1).join('1'))
  }
  console.log(isPrime(19)) // true
</script>

以上所述是小編給大家介紹的JavaScrpt判斷一個(gè)數(shù)是否是質(zhì)數(shù)的實(shí)例代碼 ,希望對(duì)大家有所幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI