哪位大佬能给我解释一下这个过程,我懵了。

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

qq_慕娘4133401

2018-12-13 10:39

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

写回答 关注

2回答

  • Scorp_
    2019-01-16 11:20:32

    第一层循环遍历从2-50的所有数;第二层循环遍历大于2小于第一层数字的所有数;

    根据定义,当一个数只能被只能被1和它本身整除的数字是素数。

    把第一句话翻成人话就是   找一个数字,除以比他小的每一个数字,如果求余等于0的结果不是他本身(能整除别的数字) 即这个数不是素数

    如果是他本身,即这个数是素数

    这也就是下两句的判断逻辑


  • qq_莫欺少年轻狂_tuxG06
    2018-12-13 13:05:22

    我第一下看到也懵了,是这样的,第一个循环你应该知道什么作用,第二个循环的意思是如果第一个循环的数能被大于2且小于这个数的数整除,就执行break即不输出这个数是素数。

    慕用8099... 回复qq_慕娘4...

    如果这个能被整除的数 是本身的话 就是素数啊

    2019-01-31 10:09:32

    共 2 条回复 >

C语言入门

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

926021 学习 · 20793 问题

查看课程

相似问题