劃線處的演算法是為什么?
break在這里的具體作用是啥?

uj5u.com熱心網友回復:
友情提醒 樓主發錯地方了這個break 一般都是跳出當前回圈的作用 只跳一層回圈哦 你這個有2層回圈
看你這個代碼應該是 跳出 for j in range(2,k+1) 這個回圈的功能
至于劃線的地方你能不能拍全 python我不熟悉 = = 只能去看看理解
uj5u.com熱心網友回復:
啊,謝謝提醒,我好像發錯圖了【捂臉】劃線部分是k到if這三行
uj5u.com熱心網友回復:
素數就是質數.它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積math.sqrt(11) 回傳11的平方根 =》3.316.... //平方根的作用是 減少回圈 n*m 平方根的值是n的最大值
Math.ceil(math.sqrt(11)) 向上取整 =》4
例如素數11 假設不知道他是不是素數 我們根據定義會做判斷
它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積
所以范圍在 除去1 從2開始回圈 這就是range(2,K+1) 的原因
i%j 即11整除 (2-5)回圈 , 有被整除的資料存在, 就跳過, 直接i++ 進入i=12的回圈, 沒有就輸出 11 明顯11是沒有整除的 所以11是素數被輸出 然后回圈i++ 直到 i=30
uj5u.com熱心網友回復:
哦哦,就是只要(10,30)中的數能整除(2,k+1)中任何一個數,回圈就進入下一個,不跳出結果?
uj5u.com熱心網友回復:
10-30也是回圈,k的值也在變化……不知道你理解了沒……uj5u.com熱心網友回復:
10-30也是回圈,k的值也在變化……不知道你理解了沒…… 素數就是質數.它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積
math.sqrt(11) 回傳11的平方根 =》3.316.... //平方根的作用是 減少回圈 n*m 平方根的值是n的最大值
Math.ceil(math.sqrt(11)) 向上取整 =》4
例如素數11 假設不知道他是不是素數 我們根據定義會做判斷
它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積
所以范圍在 除去1 從2開始回圈 這就是range(2,K+1) 的原因
i%j 即11整除 (2-5)回圈 , 有被整除的資料存在, 就跳過, 直接i++ 進入i=12的回圈, 沒有就輸出 11 明顯11是沒有整除的 所以11是素數被輸出 然后回圈i++ 直到 i=30
哦哦,就是只要(10,30)中的數能整除(2,k+1)中任何一個數,回圈就進入下一個,不跳出結果?
嗯嗯,回圈我知道的,謝謝啦
uj5u.com熱心網友回復:
10-30也是回圈,k的值也在變化……不知道你理解了沒…… 素數就是質數.它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積
math.sqrt(11) 回傳11的平方根 =》3.316.... //平方根的作用是 減少回圈 n*m 平方根的值是n的最大值
Math.ceil(math.sqrt(11)) 向上取整 =》4
例如素數11 假設不知道他是不是素數 我們根據定義會做判斷
它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積
所以范圍在 除去1 從2開始回圈 這就是range(2,K+1) 的原因
i%j 即11整除 (2-5)回圈 , 有被整除的資料存在, 就跳過, 直接i++ 進入i=12的回圈, 沒有就輸出 11 明顯11是沒有整除的 所以11是素數被輸出 然后回圈i++ 直到 i=30
哦哦,就是只要(10,30)中的數能整除(2,k+1)中任何一個數,回圈就進入下一個,不跳出結果?
嗯嗯,回圈我知道的,謝謝啦
uj5u.com熱心網友回復:
感覺你最應該理解的是為什么要平方根引數Math.ceil(math.sqrt(i))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/21451.html
標籤:匯編語言
