package HashTab; import java.util.Arrays; /* 统计所有小于非负整数 n 的质数的数量。 */ public class p204 { public int countPrimes(int n) { int ans=0; if(n<2)return 0; boolean []flag=new boolean[n]; Arrays.fill(flag,true); for(int i=2;i*i<n;i++){ if(flag[i]){ for(int j=i+i;j<n;j+=i){ flag[j]=false; } } } for(int i=2;i<n;i++){ if(flag[i])ans++; } return ans; } }
运行结果: