#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;
}
第一层循环遍历从2-50的所有数;第二层循环遍历大于2小于第一层数字的所有数;
根据定义,当一个数只能被只能被1和它本身整除的数字是素数。
把第一句话翻成人话就是 找一个数字,除以比他小的每一个数字,如果求余等于0的结果不是他本身(能整除别的数字) 即这个数不是素数
如果是他本身,即这个数是素数
这也就是下两句的判断逻辑
我第一下看到也懵了,是这样的,第一个循环你应该知道什么作用,第二个循环的意思是如果第一个循环的数能被大于2且小于这个数的数整除,就执行break即不输出这个数是素数。