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

為了賬號安全,請及時綁定郵箱和手機立即綁定

有沒有大神告訴我 這是為什么

作者的標準答案中用除數(m)去除于被除數(n),但在子循環中邏輯式中式要求n<m,為什么還會有后面的n=m,并且還輸出了?還有如果按這個公式算的話4/4余0,4=4,為什么4沒有輸出以及6除于6,8除于8........,

正在回答

4 回答

因為不可能出現你說的這種情況,外層循環當m=4的時候,到子循環n是從2開始遍歷2到4之間的數

0 回復 有任何疑惑可以回復我~

暴力從2一直遍歷到自身 如果能取模為0(至少含有2這個因子 ) 說明不是素數 跳出遍歷 繼續判定下一個數 暴力遍歷??

0 回復 有任何疑惑可以回復我~

#include <stdio.h>

int main()

{

? ? int m, n;

? ? for(m=2; m<=50; m++)

? ? {

for(n=2; n<m; n++)

? ? ? ? {

? ? ? ? ? ? if(m%n==0)? ? ? ?//什么條件下跳出當前循環

? ? ? ? ? ? ? break;? ? ? ? ? ? ? ? ?//這里應該退出當前循環了

}

? ? ? ? if(m == n)? ?//n循環結束后,如果m=n的話就輸出m

? ? ? ? ? ? printf("%d? ", m);

}

return 0;? ??

}

首先說明一下什么是素數,素數就是只能被1和它本身整除的數,搞清楚后就開始講這個程序是怎么一步一步來的;

第一次:最外頭的for循環給的m的初始值為2,即m=2,然后就開始內部的for循環了,即n=2,m%n(2%2==0),所以就輸出m了,即2是素數;第二次最外頭的for循環m=3,而內for循環的n的值就回到n=2了,而不是n=3,就會變成3%2!=0,然后n自增變成n=3了,就變成3%3==0,所以3是素數;第三次最外頭的for循環m=4,內for循環n=2,然后4%2==0,但4與2不相等,所以4不是素數,后面以此類推,我第一次講,希望我講清楚了

13 回復 有任何疑惑可以回復我~
#1

weixin_慕勒0193379

np這解釋看一遍就懂了
2023-01-28 回復 有任何疑惑可以回復我~
請輸入你的代碼,查看后解答
0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

有沒有大神告訴我 這是為什么

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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