素数筛选法
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char sz[1005] = {0};//筛选一下 2 到1000 的素数
int i,j,pri[1000] = {0},nur_pri = 0;
for(i = 2;i <= 1000;i++)
{
if(!sz[i])pri[nur_pri++] = i;//素数保存在 pri数组中
for(j = 0;j < nur_pri && i*pri[j] <= 1000;j++)
{
sz[i*pri[j]] = 1;//不是素数的话就标记为 1
if(i%pri[j] == 0)
{
break;//避免重复的筛选
}
}
}
for(i = 0;i < nur_pri;i++)
{
printf("%d ",pri[i]);
}
return 0;
}