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

希望能帮到你们。。。。

https://img2.mukewang.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不是素数


谢谢

希望能帮到你们

提问者:糖妮儿 2018-06-09 11:05

个回答

  • 慕粉175907243
    2018-09-02 20:33:22

    谢谢大佬,讲得很清楚

  • qq_无意跌入你心海_0
    2018-08-15 10:26:40

    大佬,万分感谢!

  • nanofinger
    2018-07-09 14:09:24

    谢谢!!

  • Alone风
    2018-07-06 22:30:58

    谢谢大佬

  • 渊少
    2018-07-06 16:51:43

    谢谢大佬