認識 JavaScript (十一)

閱讀時間約 2 分鐘

※ 質數判斷

  • 質數除了1跟本身,沒有其他的因數
  • 因數可以整除的數字
  • 用到的運算符號:「% mod 求餘數
  • 整除 mod完為0沒有餘數

※ 使用for迴圈

let x = 97 // 可以修改成其他數值來測試
//flag標記
let isNotPrime = false //先判斷是不是質數
for (let i = 2; i <= x - 1; i = i++) {
if (x % i === 0) {
isNotPrime = true
break // 如果找到能整除的因數,直接結束迴圈
}
}
if (isNotPrime) {
console.log(`${x}不是質數`)
} else {
console.log(`${x}是質數`)
}
raw-image

說明:

為什麼要用 i <= x - 1 的判斷條件是因為:

  1. 不需要檢查 x 本身:任何數除以自己都會等於1,所以這不是質數判斷所需要的。
  2. 不需要檢查1:任何數除以1都等於其本身,這也不會對判斷質數有所幫助。

i <= x - 1改成開根號的寫法

let x = 23 // 可以修改成其他數值來測試

//flag標記

let isNotPrime = false //先判斷是不是質數

for (let i = 2; i <= Math.sqrt(x); i++) {

if (x % i === 0) {

isNotPrime = true

break // 如果找到能整除的因數,直接結束迴圈

}

}

if (isNotPrime) {

console.log(`${x}不是質數`)

} else {

console.log(`${x}是質數`)

}
raw-image

說明:

為什麼要改成開根號的寫法是因為:

  1. Math.sqrt(x) 會計算 x 的平方根。
  2. 迴圈會從 2 運行到 x 的平方根,減少了要依序驗證的範圍,也提高了判斷質數的效率。

※ 改成while迴圈

let x = 67
// flag標記
let isNotPrime = false //先判斷是不是質數
let i =2 // 起始值
while (i <= x - 1) {
if (x % i === 0) {
isNotPrime = true
break //運算效率會比別人快
}
i++ // 等同於 for 迴圈中的 i++
}
if (isNotPrime) {
console.log(`${x}不是質數`)
} else {
console.log(`${x}是質數`)
}
raw-image


    全端網頁開發專業知識分享
    留言0
    查看全部
    發表第一個留言支持創作者!
    認識 JavaScript (五)
    閱讀時間約 1 分鐘
    認識 JavaScript (六)
    閱讀時間約 1 分鐘
    認識 JavaScript (七)
    閱讀時間約 1 分鐘
    認識 JavaScript (八)
    閱讀時間約 2 分鐘
    認識 JavaScript (九)
    閱讀時間約 3 分鐘
    認識 JavaScript (十)
    閱讀時間約 1 分鐘
    你可能也想看
    識別危險訊號:自我認識和成長的旅程 導言: 在電視節目《BoJack Horseman》中,節目製作人拉斐爾·鮑伯·韋克斯伯格寫下了一句引人深思的話:“當你戴上玫瑰色眼鏡看別人時,紅旗只是看起來像旗子。” 雖然這句話最初是指戀愛關係中的紅旗,但對於內省和自我認識也同樣適用。我們常常很難認識到自己內部的警示信號,因為我們往往會對自
    Thumbnail
    avatar
    Robert Parkin
    2023-07-19
    食材錄☀柑橘認識史吃過、玩過、用過、聞過、洗過、欣賞過、享受過、接觸過、曾經種植但被毛毛蟲吃到掛掉過。真的是徹底體會柑橘類特別的歡樂力量,非常好玩啊!
    Thumbnail
    avatar
    鈴瀧編
    2022-02-12
    你必须认识当前影响潜力巨大的粉丝经济 Chiliz原文連結:https://zb.house/你必须认识当前影响潜力巨大的粉丝经济-chiliz/ 【本文章轉載自鑄幣局 - 提供專業的加密貨幣行業的研究成果的分析平台。】 “粉丝令牌让Chiliz与加密世界的联系更加紧密,这也说明加密货币将给主流社会的影响潜力巨大。” 项目愿景 团队 Sam Li
    Thumbnail
    avatar
    ZB.House
    2021-12-09
    认识自己  尼采曾说:“聪明的人,只要可以正确认识自己,便什么也不会失去。”由此可知,正确认识自我,是走好人生路的关键,对于自我的评价,因以自己为衡量标准,而不应以外物或他人评价为衡量自我的标准。   以物喜,可能会造成盲目自大,以物悲,可能会造成盲目自卑,对于认识自我,我们应以实际情况为衡量标准。不以物
    avatar
    千岁忧.
    2021-12-03
    實例認識現代產業的複雜,及如何牽動經濟(4):台灣後來的路?不管傳產還是科技業,要能夠傳承就得要說故事,把故事寫成書,經驗能夠傳下去。沒有傳承就只能師徒制一輩子,新血極難加入,失去活力的產業必定走向夕陽,這才是夕陽產業真正的問題。
    Thumbnail
    avatar
    王立第二戰研所
    2020-07-14
    實例認識現代產業的複雜,及如何牽動經濟(3):產業分布及經濟牽連各位以為,少掉幾家髒兮兮工廠沒差嗎?這些中小代工廠養活的人口數以百萬計,今天命脈被中國掌握,哪天波動一下就是數十萬人失業,或是無薪假影響百萬家庭。
    Thumbnail
    avatar
    王立第二戰研所
    2020-07-07
    實例認識現代產業的複雜,及如何牽動經濟(2):傳產的困境生產製程不是只有生產,還有前後處理各種項目。你以為傳產消失很好嗎?這代表的是相關產業,連同工廠附近的基本食衣住都消失掉,表面上關掉一間廠不過100人失業,連動到的終端人數可能超過10,000人。
    Thumbnail
    avatar
    王立第二戰研所
    2020-07-01
    實例認識現代產業的複雜,及如何牽動經濟(1):製程的複雜這個系列要談幾個主題,主要是要讓「非產業界」的人,了解現代產業的複雜,以及相關製程對環境的影響,受眾設定是非工科的人,以文法商組,且沒有在產業界,特別是傳產這一塊的為對象,希望這些朋友在談產業的去留,或是討論各種優惠與補貼,以及環保衛生政策的時候,能夠有更進一步的認識。
    Thumbnail
    avatar
    王立第二戰研所
    2020-06-23
    股票攻略2 — 认识股票 前言 投资心态:我是老板 涨跌原理  涨停跌停 两大风险 危险股票 三种获利 股票费用  交割制度 最佳消息来源 财报3步骤 除权、除息 指数VS个股 四大指标 结语   投资心态:我是老板 想要在股市赚钱,首先要建立老板心态。所
    avatar
    RichWee全球理財投資
    2020-05-18
    股票攻略1 — 认识股票文章索引 前言 历史寻根 何谓股票 股本/缴足资本 股票单位  四种类、四形式 结语 前言 众多理财工具中,股票应该算是最有知名度的明星。若想理财,这个工具必须懂得使用。一起进入股票的世界吧! 历史寻根:集资、分担、比例 地理大发现时期,哥伦布发现新大陆、麦哲伦团队
    Thumbnail
    avatar
    RichWee全球理財投資
    2019-11-06