方法:埃拉托色尼筛法
算法:
(1)挖去1
(2)用一个未被挖去的数(素数)p去除p 后面的书中,把p的倍数挖去
(3)检查p是否小于n^(1/2)的整数部分
(4)剩下的就是素数
#include<stdio.h>
#include<math.h>
void main()
{
int i,j,a[101];
for(i=0;i<101;i++)
a[i]=i;
a[1]=0;
for(i=2;i<sqrt(100);i++)
for(j=i+1;j<101;j++)
{if(a[i]!=0 && a[j]!=0)
if(a[j]%a[i]==0)
a[j]=0;
}
for(i=0;i<101;i++)
{
if(a[i]!=0)
printf("%5d\n",a[i]);
for(i=2;i<sqrt(100);i++)
for(j=i+1;j<101;j++)
{if(a[i]!=0 && a[j]!=0)
if(a[j]%a[i]==0)
a[j]=0;
}
}这里是算法的重点
}