#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;
}
不可以,假如m=4,运行下面的for(n=2; n<m; n++) ,当n=2时不满足if,所以if不会执行4%2,而是直接执行n与m相等的数 if运行的就是4%4==0,发现满足if然后跳出循环,然后输出m。可实际上m=4不是个素数