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