筛法求素数
程序员文章站
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;
}