厄拉多塞筛选法,就是哈希表记录素数的倍数
public int countPrimes(int n) { /* 牛逼哄哄的厄拉多塞筛选法 就是从2开始,每找到一个素数,就把n以内的这个数的倍数排除 记录倍数的可以用一个Boolean数组 这个题放在Hashtable里的原因可能就是因为这个方法把 */ //这个题没说明白,其实不包括n boolean[] not = new boolean[n]; int res = 0; for (int i = 2; i < n; i++) { if (!not[i]) res++; for (int j = 2; j*i < n; j++) { not[i*j]=true; } } return res; }