问答详情
源自:4-18 练习题

求素数

如何简单编程列出1-n之间所有素数?

提问者:我的梦在人间 2016-10-28 14:32

个回答

  • qq你屋头
    2018-11-19 09:00:26

    看不懂

  • 慕仔6107095
    2016-12-17 21:08:51

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

    }

    这种事最简单的,望采纳

  • 我的梦在人间
    2016-10-28 15:14:43

    我是初学者,可以简单点吗?

  • JustWannaHugU
    2016-10-28 14:41:24

    代码如下,输出格式可能不太美观,你可以自己改改。望采纳

    #include <stdio.h>
    bool IsPrime(int );
    int main()
    {
    	int N;
    	int sum = 0;
    	scanf("%d",&N);
        for (int n = 0; n <= N; n++)
            if (IsPrime(n))
               printf("%3d",n);
        return 0;
    }
    bool IsPrime(int n) 
    {
        if (n <= 1) return false;
        if (n % 2 == 0) return n == 2;
        
        for (int i = 3; ; i += 2)
        {
            if (i > n/i) break;  
            if (n % i == 0) return false;
        }
        return true;
    }