class Solution {
public int countPrimes(int n) {
if(n<=1) return 0;
int sum=0;
int[] nums=new int[n];
nums[0]=1;
for(int i=2;i<=Math.sqrt(n);i++){
for(int j=i*i;j<=n;j+=i){
nums[j-1]=1;
}
}
for(int i=0;i<n;i++){
if(nums[i]==0){
sum++;
}
}
if(nums[n-1]==0) sum--;//不包括终点
return sum;
}
}
埃氏筛法求质数个数
猜你喜欢
转载自blog.csdn.net/qq_43720965/article/details/104610449
今日推荐
周排行