為什么m=n就輸出m?????
#include <stdio.h>
int main()
{
??? int m, n;
??? for(m=2; m<=50; m++)
??? {
??for(n=2; n<m; n++)
??????? {
??????????? if(m%n==0)?????? //什么條件下跳出當(dāng)前循環(huán)
????????????? break;???????????????? //這里應(yīng)該退出當(dāng)前循環(huán)了
??}?
????????? if(m == n) //n循環(huán)結(jié)束后,如果m=n的話就輸出m
??????????? printf("%d? ", m);
?}
?return 0;???
}
2019-04-03
你看,第一個(gè)大的for循環(huán)控制了被除數(shù)的輸入為2到五十。第二個(gè)for循環(huán)控制了除數(shù)的范圍小于被除數(shù),同時(shí)里面的if語(yǔ)句就控制——如果被除數(shù)能被除了自身之外的數(shù)字整除,那么就用break停止執(zhí)行該語(yǔ)句,就是不要該數(shù)字,而繼續(xù)判斷下一個(gè)數(shù)字的意思。如果執(zhí)行到比自身小一的數(shù)字還不能整除,即指余數(shù)不為零,那么只有自身可以整除,就符合了素?cái)?shù)的定義,希望可以幫到你。
2019-04-03
素?cái)?shù)不就是只能除盡1和自身嘛,在m%n==0 的一堆數(shù)中,能被其他數(shù)除盡的有很多,但是只有被自身整除的才是素?cái)?shù),所以就輸出只能被自身整除的,emmmm差點(diǎn)把自己繞進(jìn)去了
2019-03-30
m==n的意思就是m等于n
?if(m == n)?
??????????? printf("%d? ", m);
這句話的意思是當(dāng)m==n時(shí),輸出m,不等于時(shí),執(zhí)行下一語(yǔ)句。