亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我沒有在素數函數中得到平方循環索引

我沒有在素數函數中得到平方循環索引

千巷貓影 2023-04-27 14:58:36
下面是我的函數,總結了低于給定的所有素數maxNum。我不明白為什么函數中的 for 循環在使用instead ofisPrime時不起作用。j <= numj ** 2 <= numfunction sumPrimes(maxNum) {    let sum = 0;    for (let i = 2; i <= maxNum; i++) {        if (isPrime(i)) {            sum += i        }    }    return sum}function isPrime(num) {    for (let j = 2; j <= num; j++) { // when I use j ** 2 <= num it works        if (num % j === 0) {            return false        }    }    return true}console.log(sumPrimes(20))
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

如果您使用j <= num,循環將計數j到數字本身,然后匹配num % j === 0并返回 false。

所以如果num是 17,循環將執行17 <= 17which passes 并且循環體執行17 % 17 === 0,所以它總是返回 false,無論你傳入什么數字。

您可以在循環頭中使用j < numinstead of j <= num,這也應該有效,因為使用小于號時永遠不會達到數字本身。


查看完整回答
反對 回復 2023-04-27
  • 1 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號