由Eratosthenes提出 故名而来,采用改为合数的判断,进行统计。
此算法只是一种处理思想,要善于利用到类似的情况进行求解
public static int Eratosthenes(int n)
{
boolean[] isprame=new boolean[n];
int count=0;
for (int i=2;i<n;i++) {
if(!isprame[i]) {
count+=1;
for (int j=i*i;j<n;j+=i)//最初其中的i设置的初值为2 考虑2*3和3*2是同一个效果 把2替换为i
{
isprame[j]=true;
}
}
}
return count;
}
main函数传参即可输出结果