素数:只能被1和自身整除的数,0、1除外
解法一:暴力算法
直接从2开始遍历,判断是否能被2到自身之间的数整除
public int countPrimes(int n) { int ans = 0; for (int i = 2; i < n; ++i) { ans += isPrime(i) ? 1 : 0; } return ans; } //i如果能被x整除,则x/i肯定能被x整除,因此只需判断i和根号x之中较小的即可 public boolean isPrime(int x) { for (int i = 2;i * i <= x; ++i) { if (x % i == 0) { return false; } } return true; }