问答详情
源自:4-14 结束语句之break语句

求解 ~~~困惑

求解 例如 m=3, n=2;n<m不就是n的取值范围只能是2罗   那么3%2!=0 3不是素数嘛,可m!=n呀 如果改成n<=m  那么3就是素数了 可问题是为啥是n<m 呀   乱了我一脸懵逼 求救

提问者:qq_缘徊_03225888 2017-12-11 14:38

个回答

  • qq_缘徊_03225888
    2017-12-13 14:38:45

    #include <stdio.h>

    int main()

    {

        int m, n;

        for(m=2; m<=50; m++)     如果m=3

        {

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

            {

                if(    m%n==0    )       3%2不等于0

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

    }

            if(m == n)                       3不等于2

                printf("%d  ", m);      这里m 就不会输出3啦 ,也就是3不是素数啦,想要3是素数,条件不应该是n<=吗,                                                    为啥n<m就可以了呢  就是这个我不理解

    }

    return 0;    

    }


  • 慕码人8831966
    2017-12-11 17:37:57

    3是素数,但我觉得你这个是m是指外面传入的数,n是指从1到其本身之前的数,只有能被1和本身整除的数才是素数,所以最后跳出去的会是m=n

  • 90落默转季
    2017-12-11 17:27:47

    3%2!=0 ,那么3就是素数啊!