素数是怎么判断的?

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

cooooyq

2015-12-06 19:26

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

不是很理解答案?

写回答 关注

3回答

  • Perona
    2015-12-06 19:44:00
    已采纳

    首先了解一下素数的概念。素数是只能除以1和自身的数。

    这里2个for循环,外面的for循环是遍历0-50这几个数的,里面的for是看m除了自己还能不能被整除。

    外面的for从2开始算m是不是素数,n是除数,除数从2开始,如果m除以2余数为0,说明m能被2整除,则m不是素数,里面for循环break,继续算外面的for循环m+1。


    cooooy...

    非常感谢!

    2015-12-20 10:01:03

    共 4 条回复 >

  • mukersex
    2016-02-20 13:34:02

    for(i=2;i<=n-1;i=i+1) ,这句中的i=i+1是不是可以换成i++???

    qq_剁椒鱼...

    可以吧,两个意思一样

    2016-03-06 15:21:39

    共 1 条回复 >

  • 一路狂奔到天边
    2015-12-11 22:37:31

    给你一个类似的

    #include<stdio.h>

    main()

    {  

    int i,n,j;

    j=0;

        for(n=101;n<=300;n++)   

    {  

    for(i=2;i<=n-1;i=i+1)    

               if(n%i==0)    

                 break;    

                if(i>=n)

    printf("%d\n",n);

    }  

    printf("%d",j);

    }


    mukers...

    j有什么用么?

    2016-02-20 13:30:06

    共 2 条回复 >

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题