這樣的改寫思路可不可以?
#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,運行下面的for(n=2; n<m; n++)?,當n=2時不滿足if,所以if不會執行4%2,而是直接執行n與m相等的數 if運行的就是4%4==0,發現滿足if然后跳出循環,然后輸出m??蓪嶋H上m=4不是個素數