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

希望能帮到你们。。。。

https://img1.sycdn.imooc.com//5b1b3ef400013b9006920376.jpg

0-50之间,首先自动排除0和1,故m从2开始

最外面的m循环差不多是用来记录你当前所求的数

里面的n循环是判断m是否能被除1和自己以外的数整除


n循环是用当前的m除以n,n从2到m-1,就是把1到本身之间的数全部除一遍

若是其中出现了整除现象,即m%n==0,则说明m可以被不是1和本身的数整除,m不是素数

            此时满足if语句,且n的值还处于2-(m-1)之间就break了

            则跳出循环后n!=m,不能输出m,

反之,若一直到n=m-1还是找不到一个数能整除m,说明m是素数

            此时if(m%n==0)语句不满足,break不能执行,则继续执行表达式3——n++

            则在for(n=2;n<m;n++)中n=m,不符合n<m

            跳出n的for循环,来到m的for循环

            此时m==n,则输出m。


如:m=2,n=2

      n<m不满足,直接结束n的循环来到m的循环

     此时m==n,输出m,m是素数


      m=3,n=2

     满足n<m,又m%n!=0,则执行n++

     n=3,不满足n<m了

     所以结束n的循环来到m的循环

     此时m=n=3,输出m,m是素数

     

     m=4,n=2

     满足n<m,又m%n==0,满足if语句,执行break跳出n的循环来到m的循环

    此时m=4,n=2不满足m=n,故不输出m,m不是素数


谢谢

希望能帮到你们

正在回答

5 回答

谢谢大佬,讲得很清楚

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

大佬,万分感谢!

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

谢谢!!

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

谢谢大佬

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

谢谢大佬

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

举报

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

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

进入课程

希望能帮到你们。。。。

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