偶尔看到一本比较古老的书,才发现 筛选法 往出筛素数 并不是多么新新的算法,相反是一个挺古老的算法
大家帮我看看 是不是这样子筛选的 是否有漏洞 或者有待优化的地方
程序代码:
#include <stdio.h>
#define max 300
//使用筛选法列举素数
int main()
{
int i=2;
int k,j;
int t[max]={0};
for(k=0;k<max;k++) t[k]=i+k; //为待扫描数据赋初值 自然数序列 从2开始
i=0;
k=t[i]; //初始素数
while(i<max)
{
i++;
for(j=i;j<max;j++) if(t[j]%k==0) t[j]=0; //凡能够整除者 赋0
while(t[i]==0) i++; //搜索下一个素数
k=t[i];
}
for(k=0;k<max;k++)
{
if(t[k]!=0) printf("%d ",t[k]); //不是0者,即素数 打印输出
}
printf("\n");
return 0;
}








表示没有看懂


,我来学习学习