兩個起始值都是一樣后面也是同樣加一,那么不就一直有m%n==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? ? )? ? ? ?//什么條件下跳出當前循環(huán)
? ? ? ? ? ? ?break;? ? ? ? ? ? ? ?//這里應該退出當前循環(huán)了
}
? ? ? ? if(m == n)? ?//n循環(huán)結(jié)束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d? ", m);
}
return 0;? ??
}
2019-01-05
不一樣,跳出第二個循環(huán)后就會回到到第一個循環(huán),執(zhí)行if(m==n){};m++;后就會再次來到第二循環(huán),此時n被再次定義為2,n!=m。
2018-12-16
你的第二個for循環(huán)應該是在第一個for循環(huán)之下的,這是一個雙重循環(huán)。
比如說n=3的時候,m會循環(huán),n被每一個不同的m取余。
? ? ? ?3%2!=0? 繼續(xù)第二個循環(huán)
? ? ? ?3%3=0 ? ?結(jié)束第二個循環(huán)
? ? ? ? ? 輸出3
?
? ?