这样的改写思路可不可以?

来源:4-14 结束语句之break语句

iseoks

2021-03-23 22:22

#include <stdio.h>

int main()

{

    int m, n;

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

    {

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

        {

            if(    m%n==0&&m==n    )

            {

            printf("%d  ", m);

            }

        }

}

return 0;    

}



写回答 关注

1回答

  • qq_慕侠8332055
    2021-04-04 13:05:38
    已采纳

    不可以,假如m=4,运行下面的for(n=2; n<m; n++) ,当n=2时不满足if,所以if不会执行4%2,而是直接执行n与m相等的数 if运行的就是4%4==0,发现满足if然后跳出循环,然后输出m。可实际上m=4不是个素数

    不要香菜67...

    n=4 m=4 时输出不就是4了 为啥里面结果没有4

    2021-12-17 16:12:48

    共 1 条回复 >

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题