欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

筛法求素数

程序员文章站 2024-03-15 12:48:53
...
#include<stdio.h>
int main()
{
    int a,num,i,j;
    scanf("%d",&a);
    int flag[a+1],output[a];
    num=0;
    for(i=0;i<=a;i++)
    {
        flag[i]=0;
    }
    for(i=2;i<=a;i++)
    {
        if(flag[i]==0)
        {
            output[num++]=i;
        }
        for(j=0;j<num&&output[j]*i<=a;j++)
        {
            flag[output[j]*i]=1;
            if(i%output[j]==0)
                break;
        }
    }
    for(i=0;i<num;i++)
    {
        printf("%d  ",output[i]);
    }
    return 0;
}