為什么第二個for循環內n<m,跳出循環后n 能等于m
for(m=2;m<=50;m++)
{
????????for(n=2;n<m;n++)
????????????????{
??????????????????if(m%n==0)
?????????????????}
?????????if(n==m)
}
for(m=2;m<=50;m++)
{
????????for(n=2;n<m;n++)
????????????????{
??????????????????if(m%n==0)
?????????????????}
?????????if(n==m)
}
2018-12-14
舉報
2019-01-16
第一層循環遍歷從2-50的所有數;第二層循環遍歷大于2小于第一層數字的所有數;
根據定義,當一個數只能被只能被1和它本身整除的數字是素數。
把第一句話翻成人話就是?? 找一個數字,除以比他小的每一個數字,如果求余等于0的結果不是他本身(能整除別的數字) 即這個數不是素數
如果是他本身,即這個數是素數
這也就是下兩句的判斷邏輯
2018-12-16
for循環是 for(1;2;3) { ?代碼。。。 ?} ?//1,先運行for里的“1”和“2”然后運行{}里的,之后返回來運行“3”, ?//2,按照這樣的話,M的初始值是2,N的也是2,m<=50是真(值為非0,可以用printf("%d\n",m<=50);看到), ?//然后執行第二個for循環 ?//3,n=2,n<m為假(值為0)不執行if(m%n?==?0) ?//4,接著執行if(n?==?m),然后執行m++(就是m加1) ?//5,再執行“1”和“2”,循環往復直到循環結束。 ?//不知道你能理解不,我也是沒入門呢,正在學,這個需要你自己理解。2018-12-15
那怎么可能n能被m 整除呢,按你的說n只比m小一
2018-12-14
因為后面有個n++;n++的作用是在運算結束后n的值加一。