44.计数质数
题目内容:
代码及思路:
class Solution {
public:
bool isPrim(int num)
{
for (int i = 3; i <= sqrt(num); i += 2)
{
if (num%i == 0)
return false;
}
return true;
}
int countPrimes(int n) {
int count=0;
//最小的质数是2,质数的特点:除了1和其本身以外没有其他因数
//首先偶数一定不是质数因此可以可以从2开始只对奇数进行判断
//注意题目中讲的是小于n!!!
if (n == 1||n==2)
return 0;
if (n > 2)
{
count++;
for (int i = 3; i < n; i += 2)
{
if (isPrim(i))
count++;
}
}
return count;
}
};