這樣的改寫思路可不可以?
#include <stdio.h>
int main()
{
? ? int m, n;
? ? for(m=2; m<=50; m++)
? ? {
? ? ? ? for(n=2; n<m; n++)
? ? ? ? {
? ? ? ? ? ? if(? ? m%n==0&&m==n? ? )
? ? ? ? ? ? {
? ? ? ? ? ? printf("%d? ", m);
? ? ? ? ? ? }
? ? ? ? }
}
return 0;? ??
}
2021-04-04
不可以,假如m=4,運(yùn)行下面的for(n=2; n<m; n++)?,當(dāng)n=2時(shí)不滿足if,所以if不會(huì)執(zhí)行4%2,而是直接執(zhí)行n與m相等的數(shù) if運(yùn)行的就是4%4==0,發(fā)現(xiàn)滿足if然后跳出循環(huán),然后輸出m??蓪?shí)際上m=4不是個(gè)素?cái)?shù)