为了账号安全,请及时绑定邮箱和手机立即绑定

为什么要写if(m==n)

#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)   

            printf("%d  ", m);

}

return 0;    

}


正在回答

4 回答

如果 m==n说明内层循环中 n从2循环到m-1的过程中m都不能被n整除,这就说明m不能被从2到m-1的整数整除 ,即m为素数。

0 回复 有任何疑惑可以回复我~

如果 m==n说明内层循环中 n从2循环到了m-1,这就说明m不能被从2到m-1的整数整除 ,即m为素数。

0 回复 有任何疑惑可以回复我~

当m为素数时,n循环到了m-1时,m仍不能被n整除,便跳出了for(n=2;n<m;n++)这个循环,但跳出时n已经加了1,即n==m,便能判断m为素数。

0 回复 有任何疑惑可以回复我~

素数是只能够被1和自己整除的数字。当运行到跳出来的n=m时,说明在被自己整除之前都没有比1大的数能够整除它(如果跳出来的n!=m的话,就说明有其他因数了)。比如m=4的时候,首先跳出来的n是2,并不是自身,就说明这个n=2是m=4的一个因数,从而说明4不是素数。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926206    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

为什么要写if(m==n)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信