#include <stdio.h>
int main()
{
int m, n;
for(m=2; m<=50; m++)
{
for(n=2; n<m; n++)
{
if( m%n == 0)
break;//什么条件下跳出当前循环
//这里应该退出当前循环了
}
if(m == n) //n循环结束后,如果m=n的话就输出m
printf("%d ", m);
}
return 0;
}
我的理解是:m是大循环 n是小循环。 n的循环是两种:满足break跳出,不满足break执行if(m==n) 对吗?
n<m;n++ n也不能等于m啊 这块怎么理解呢?
m的是外循环,n的是内循环。内循环的时候判断if( m%n == 0)成功跳出n的循环(break只能跳出一层循坏),n++是不是不满足n<m,循坏才结束,所以n能等于m啊!有问题再问我!