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

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

素數是怎么判斷的?

#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;???
}

不是很理解答案?

正在回答

3 回答

首先了解一下素數的概念。素數是只能除以1和自身的數。

這里2個for循環,外面的for循環是遍歷0-50這幾個數的,里面的for是看m除了自己還能不能被整除。

外面的for從2開始算m是不是素數,n是除數,除數從2開始,如果m除以2余數為0,說明m能被2整除,則m不是素數,里面for循環break,繼續算外面的for循環m+1。


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

cooooyq 提問者

不能理解第二個for循環里面 (n<m)
2015-12-07 回復 有任何疑惑可以回復我~
#2

Perona 回復 cooooyq 提問者

這個就是看m除了自己還能不能被整除。所以循環條件是小于本身的。
2015-12-07 回復 有任何疑惑可以回復我~
#3

cooooyq 提問者 回復 Perona

知道了
2015-12-07 回復 有任何疑惑可以回復我~
#4

cooooyq 提問者

非常感謝!
2015-12-20 回復 有任何疑惑可以回復我~
查看1條回復

for(i=2;i<=n-1;i=i+1) ,這句中的i=i+1是不是可以換成i++???

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

qq_剁椒魚頭i_0

可以吧,兩個意思一樣
2016-03-06 回復 有任何疑惑可以回復我~

給你一個類似的

#include<stdio.h>

main()

{ ?

int i,n,j;

j=0;

? ? for(n=101;n<=300;n++) ??

{ ?

for(i=2;i<=n-1;i=i+1) ? ?

? ? ? ? ? ?if(n%i==0) ? ?

? ? ? ? ? ? ?break; ? ?

? ? ? ? ? ? if(i>=n)

printf("%d\n",n);

} ?

printf("%d",j);

}


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

cooooyq 提問者

printf("%d",j); 在這里的意思是什么? 不要這局, return 0;不就可以了嗎?
2015-12-20 回復 有任何疑惑可以回復我~
#2

mukersex

j有什么用么?
2016-02-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

素數是怎么判斷的?

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

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

幫助反饋 APP下載

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

公眾號

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