课程
/后端开发
/C
/C语言入门
for(m=2;m<=50;m++)
{
for(n=2;n<m;n++)
if(m%n==0)
}
if(n==m)
2018-12-14
源自:C语言入门 4-14
正在回答
第一层循环遍历从2-50的所有数;第二层循环遍历大于2小于第一层数字的所有数;
根据定义,当一个数只能被只能被1和它本身整除的数字是素数。
把第一句话翻成人话就是 找一个数字,除以比他小的每一个数字,如果求余等于0的结果不是他本身(能整除别的数字) 即这个数不是素数
如果是他本身,即这个数是素数
这也就是下两句的判断逻辑
qq_慕用5096974
for循环是 for(1;2;3) { 代码。。。 } //1,先运行for里的“1”和“2”然后运行{}里的,之后返回来运行“3”, //2,按照这样的话,M的初始值是2,N的也是2,m<=50是真(值为非0,可以用printf("%d\n",m<=50);看到), //然后执行第二个for循环 //3,n=2,n<m为假(值为0)不执行if(m%n == 0) //4,接着执行if(n == m),然后执行m++(就是m加1) //5,再执行“1”和“2”,循环往复直到循环结束。 //不知道你能理解不,我也是没入门呢,正在学,这个需要你自己理解。
卡爷爷
那怎么可能n能被m 整除呢,按你的说n只比m小一
因为后面有个n++;n++的作用是在运算结束后n的值加一。
慕勒0452018 提问者
慕码人3084263 回复 慕勒0452018 提问者
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答子循环子中for(n=2;n<m;n++)为什么n<m?
1 回答#include <stdio.h> int main() { int m, n; for(m=3; m<=50; m++) { for(n=2; n<m; n++) { if(m%n==0) //什么条件下跳出当前循环 break; //这里应该退出当前循环了 } if(m == n) //n循环结束后,如果m=n的话就输出m
2 回答第2个for循环为什么不是n<=m
1 回答这是为什么? if(m == n) //n循环结束后,如果m=n的话就输出m
5 回答请问为什么是m%n==0时跳出循环