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

大佬们萌新求助啊

#include <stdio.h>

int main()

{

    int m, n;

    for(m=2; m<=50; m++)

    {

for(n=2; n<m; n++)

        {

            if(  m/n==1    )       //什么条件下跳出当前循环

              break;                 //这里应该退出当前循环了

}

        if(m == n)   //n循环结束后,如果m=n的话就输出m

            printf("%d  ", m);

}

return 0;    



    ”        if(  m/n==1    )       //什么条件下跳出当前循环  “    这一行中如果一个数除以另一个数为一(一点几制动取整吧)然后相等不就是素数么



正在回答

1 回答

错了,素数的概念是 素数的因数只有 1跟他本身 ,就例如 3 是素数,4 不是,因为 2*2  等于 四,这是素数的概念

现在回答你的问题  如果一个数除以另一个数为一(一点几制动取整吧)然后相等不就是素数么 ,这里我们做个假设

4/4结果是1,4跟4相等,那么4是素数吗?当然不是!这里应该填 m%n==0  整个思路就成立了,如果 m % n 一直不等 0 ;那么 n < m 的for就一直循环到 n == m退出,那么 下面的判断 m==n就成立,n就是素数。如果 m%n 在 n !=m 的时候==0了,m%n ==0 (4%2=0) 那么 n<m的for就退出了循环,n == m 不成立,那么n就不是素数。简单来说,就是 n只要一直不满足 m%n==0 ,它的for不满足n<m退出时,那么n就是素数,满足n<m的时候退出,n就不是素数  


4 回复 有任何疑惑可以回复我~
#1

橘涂 提问者

非常感谢!
2018-08-31 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

大佬们萌新求助啊

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