認識 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
    查看全部
    發表第一個留言支持創作者!
    ※ 迴圈控制的兩個指令:break(跳脫)、continue(繼續) break(跳脫):當遇到一個需要強制脫離迴圈的情境,使用break(跳脫)就會直接跳出迴圈。 continue(繼續):用於跳過迴圈目前的迭代,直接開始下一次迭代的執行。 造成無限迴圈的例子: 說明: 當 x 的值
    ※ 何謂巢狀迴圈(NESTD LOOP): 指的是一個迴圈內包含另一個迴圈的結構。在程式設計中,這種結構常用於需要進行多層次迭代的場合,例如處理多維數組、逐行逐列處理表格資料等。 ※ 例子:九九乘法表 說明: 外層迴圈:for (let i = 1; i <= 9; i = i + 1) 這
    ※ 迴圈(for loop)介紹: 迴圈的用途是重複執行程式碼,只要條件滿足,就會執行特定的動作。 for (let i = 0; i < 10; i = i + 1) { console.log(i); } 說明: for:對於。 let:因為迭代器的數值會一直改變所以要用let
    ※ 常用Object(物件)型態的方法: 拿到object裡面某個key的value(值): 拿到所有屬性: ※ 存取物件屬性:點記法與括號記法 使用點記法 (dot notation) 或括號記法 (bracket notation) 來存取物件的值,以下兩種寫法的結果是一樣的: //
    ※ 常用arry型態的方法: 長度: length 查詢第N個元素: [] 查詢元素在第N個: indexOf( ) 判斷是否為array: isArray() 新增和刪除: push():新增後面的數值 unshift():新增前面的數值 pop():刪除後面的數值 sh
     ※ JavaScript 的命名慣例: 變數名稱是兩個單字以上的組合時,JavaScript 傳統上會採用駝峰命名法(camel case)。也就是將第一個單字之外的接下來每一個字首大寫,例如 myBirthday。 區分大小寫:大小寫是有區分的,如 MyBirthday 與 myBirthd
    ※ 迴圈控制的兩個指令:break(跳脫)、continue(繼續) break(跳脫):當遇到一個需要強制脫離迴圈的情境,使用break(跳脫)就會直接跳出迴圈。 continue(繼續):用於跳過迴圈目前的迭代,直接開始下一次迭代的執行。 造成無限迴圈的例子: 說明: 當 x 的值
    ※ 何謂巢狀迴圈(NESTD LOOP): 指的是一個迴圈內包含另一個迴圈的結構。在程式設計中,這種結構常用於需要進行多層次迭代的場合,例如處理多維數組、逐行逐列處理表格資料等。 ※ 例子:九九乘法表 說明: 外層迴圈:for (let i = 1; i <= 9; i = i + 1) 這
    ※ 迴圈(for loop)介紹: 迴圈的用途是重複執行程式碼,只要條件滿足,就會執行特定的動作。 for (let i = 0; i < 10; i = i + 1) { console.log(i); } 說明: for:對於。 let:因為迭代器的數值會一直改變所以要用let
    ※ 常用Object(物件)型態的方法: 拿到object裡面某個key的value(值): 拿到所有屬性: ※ 存取物件屬性:點記法與括號記法 使用點記法 (dot notation) 或括號記法 (bracket notation) 來存取物件的值,以下兩種寫法的結果是一樣的: //
    ※ 常用arry型態的方法: 長度: length 查詢第N個元素: [] 查詢元素在第N個: indexOf( ) 判斷是否為array: isArray() 新增和刪除: push():新增後面的數值 unshift():新增前面的數值 pop():刪除後面的數值 sh
     ※ JavaScript 的命名慣例: 變數名稱是兩個單字以上的組合時,JavaScript 傳統上會採用駝峰命名法(camel case)。也就是將第一個單字之外的接下來每一個字首大寫,例如 myBirthday。 區分大小寫:大小寫是有區分的,如 MyBirthday 與 myBirthd
    你可能也想看
    Google News 追蹤
    Thumbnail
    接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
    Thumbnail
    🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
    Thumbnail
    導言: 在電視節目《BoJack Horseman》中,節目製作人拉斐爾·鮑伯·韋克斯伯格寫下了一句引人深思的話:“當你戴上玫瑰色眼鏡看別人時,紅旗只是看起來像旗子。” 雖然這句話最初是指戀愛關係中的紅旗,但對於內省和自我認識也同樣適用。我們常常很難認識到自己內部的警示信號,因為我們往往會對自
    Thumbnail
    吃過、玩過、用過、聞過、洗過、欣賞過、享受過、接觸過、曾經種植但被毛毛蟲吃到掛掉過。真的是徹底體會柑橘類特別的歡樂力量,非常好玩啊!
    Thumbnail
    原文連結:https://zb.house/你必须认识当前影响潜力巨大的粉丝经济-chiliz/ 【本文章轉載自鑄幣局 - 提供專業的加密貨幣行業的研究成果的分析平台。】 “粉丝令牌让Chiliz与加密世界的联系更加紧密,这也说明加密货币将给主流社会的影响潜力巨大。” 项目愿景 团队 Sam Li
      尼采曾说:“聪明的人,只要可以正确认识自己,便什么也不会失去。”由此可知,正确认识自我,是走好人生路的关键,对于自我的评价,因以自己为衡量标准,而不应以外物或他人评价为衡量自我的标准。   以物喜,可能会造成盲目自大,以物悲,可能会造成盲目自卑,对于认识自我,我们应以实际情况为衡量标准。不以物
    Thumbnail
    不管傳產還是科技業,要能夠傳承就得要說故事,把故事寫成書,經驗能夠傳下去。沒有傳承就只能師徒制一輩子,新血極難加入,失去活力的產業必定走向夕陽,這才是夕陽產業真正的問題。
    Thumbnail
    各位以為,少掉幾家髒兮兮工廠沒差嗎?這些中小代工廠養活的人口數以百萬計,今天命脈被中國掌握,哪天波動一下就是數十萬人失業,或是無薪假影響百萬家庭。
    Thumbnail
    生產製程不是只有生產,還有前後處理各種項目。你以為傳產消失很好嗎?這代表的是相關產業,連同工廠附近的基本食衣住都消失掉,表面上關掉一間廠不過100人失業,連動到的終端人數可能超過10,000人。
    Thumbnail
    這個系列要談幾個主題,主要是要讓「非產業界」的人,了解現代產業的複雜,以及相關製程對環境的影響,受眾設定是非工科的人,以文法商組,且沒有在產業界,特別是傳產這一塊的為對象,希望這些朋友在談產業的去留,或是討論各種優惠與補貼,以及環保衛生政策的時候,能夠有更進一步的認識。
    前言 投资心态:我是老板 涨跌原理  涨停跌停 两大风险 危险股票 三种获利 股票费用  交割制度 最佳消息来源 财报3步骤 除权、除息 指数VS个股 四大指标 结语   投资心态:我是老板 想要在股市赚钱,首先要建立老板心态。所
    Thumbnail
    文章索引 前言 历史寻根 何谓股票 股本/缴足资本 股票单位  四种类、四形式 结语 前言 众多理财工具中,股票应该算是最有知名度的明星。若想理财,这个工具必须懂得使用。一起进入股票的世界吧! 历史寻根:集资、分担、比例 地理大发现时期,哥伦布发现新大陆、麦哲伦团队
    Thumbnail
    接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
    Thumbnail
    🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
    Thumbnail
    導言: 在電視節目《BoJack Horseman》中,節目製作人拉斐爾·鮑伯·韋克斯伯格寫下了一句引人深思的話:“當你戴上玫瑰色眼鏡看別人時,紅旗只是看起來像旗子。” 雖然這句話最初是指戀愛關係中的紅旗,但對於內省和自我認識也同樣適用。我們常常很難認識到自己內部的警示信號,因為我們往往會對自
    Thumbnail
    吃過、玩過、用過、聞過、洗過、欣賞過、享受過、接觸過、曾經種植但被毛毛蟲吃到掛掉過。真的是徹底體會柑橘類特別的歡樂力量,非常好玩啊!
    Thumbnail
    原文連結:https://zb.house/你必须认识当前影响潜力巨大的粉丝经济-chiliz/ 【本文章轉載自鑄幣局 - 提供專業的加密貨幣行業的研究成果的分析平台。】 “粉丝令牌让Chiliz与加密世界的联系更加紧密,这也说明加密货币将给主流社会的影响潜力巨大。” 项目愿景 团队 Sam Li
      尼采曾说:“聪明的人,只要可以正确认识自己,便什么也不会失去。”由此可知,正确认识自我,是走好人生路的关键,对于自我的评价,因以自己为衡量标准,而不应以外物或他人评价为衡量自我的标准。   以物喜,可能会造成盲目自大,以物悲,可能会造成盲目自卑,对于认识自我,我们应以实际情况为衡量标准。不以物
    Thumbnail
    不管傳產還是科技業,要能夠傳承就得要說故事,把故事寫成書,經驗能夠傳下去。沒有傳承就只能師徒制一輩子,新血極難加入,失去活力的產業必定走向夕陽,這才是夕陽產業真正的問題。
    Thumbnail
    各位以為,少掉幾家髒兮兮工廠沒差嗎?這些中小代工廠養活的人口數以百萬計,今天命脈被中國掌握,哪天波動一下就是數十萬人失業,或是無薪假影響百萬家庭。
    Thumbnail
    生產製程不是只有生產,還有前後處理各種項目。你以為傳產消失很好嗎?這代表的是相關產業,連同工廠附近的基本食衣住都消失掉,表面上關掉一間廠不過100人失業,連動到的終端人數可能超過10,000人。
    Thumbnail
    這個系列要談幾個主題,主要是要讓「非產業界」的人,了解現代產業的複雜,以及相關製程對環境的影響,受眾設定是非工科的人,以文法商組,且沒有在產業界,特別是傳產這一塊的為對象,希望這些朋友在談產業的去留,或是討論各種優惠與補貼,以及環保衛生政策的時候,能夠有更進一步的認識。
    前言 投资心态:我是老板 涨跌原理  涨停跌停 两大风险 危险股票 三种获利 股票费用  交割制度 最佳消息来源 财报3步骤 除权、除息 指数VS个股 四大指标 结语   投资心态:我是老板 想要在股市赚钱,首先要建立老板心态。所
    Thumbnail
    文章索引 前言 历史寻根 何谓股票 股本/缴足资本 股票单位  四种类、四形式 结语 前言 众多理财工具中,股票应该算是最有知名度的明星。若想理财,这个工具必须懂得使用。一起进入股票的世界吧! 历史寻根:集资、分担、比例 地理大发现时期,哥伦布发现新大陆、麦哲伦团队