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

正在回答

2 回答

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

}


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

#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;    
}

  for(n=2; n<m; n++) 从此循环出来有两种情况 一种是2<n<m且m可以被n整除,则break出第二个for循环,而且n break出来的时候 n<m,这种情况m不是素数。另一种是除1之外没有小于m的数可以整除m,则第二个for循环运行到n=m-1,n++->m然后退出第二个for循环且此时n=m, m为素数。

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

举报

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

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

进入课程
意见反馈 帮助中心 APP下载
官方微信