统计所有小于非负整数 n 的质数的数量。
示例 1:
输入:n = 10
输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
示例 2:
输入:n = 0
输出:0
示例 3:
输入:n = 1
输出:0
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/count-primes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public:
int isPrime(int n){
if(n==0||n==1)
return 0;
if(n==2||n==3)
return 1;
if(n%6!=1&&n%6!=5)
return 0;
int tmp=sqrt(n);
for(int i=5;i<=tmp;i+=6)
if(n%i==0||n%(i+2)==0)
return 0;
return 1;
}
int countPrimes(int n) {
int sum=0;
for(int i=0;i<n;i++){
sum+=isPrime(i);
}
return sum;
}
};