码迷,mamicode.com
首页 > 其他好文 > 详细

求质数——埃拉托色筛选法

时间:2018-04-21 14:26:46      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:stdio.h   printf   col   return   span   ==   质数   class   include   

#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])
{
    int i = 2, j = 0;
    long N = atol(argv[1]);
    int *a = malloc(N*sizeof(int));
    if (NULL == a)
    {
        printf("There is no enough memory!\n");
        return -1;
    }
    for(i=2; i<N; i++)
        a[i] = 1;

    for(i=2; i<N; i++)
    {
        if(a[i])
        {
            for(j=i; j*i<N; j++)
            {
                a[i*j] = 0;
            }
        }
    }

    for(i=2; i<N; i++)
    {
        if(a[i])
            printf("%4d ", i);
    }

    printf("\n");

    return 0;

}

 

求质数——埃拉托色筛选法

标签:stdio.h   printf   col   return   span   ==   质数   class   include   

原文地址:https://www.cnblogs.com/cnpirate/p/8900735.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!