[LeetCode]204. Count Primes
程序员文章站
2022-07-15 09:39:08
...
[LeetCode]204. Count Primes
题目描述
思路
类似动态规划,每次计算当前素数时,将不可能是素数的结果标记,之后遍历碰到这些结果直接跳过
代码
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
int countPrimes(int n) {
if (n <= 2) return 0;
vector<int> passed(n, 0);
int sum = 1, upper = sqrt(n);
for (int i = 3; i < n; i += 2) {
if (!passed[i]) ++sum;
if (i > upper) continue;
for (int j = i * i; j < n; j += i) passed[j] = 1;
}
return sum;
}
};
int main() {
Solution s;
cout << s.countPrimes(2) << endl;
cout << s.countPrimes(3) << endl;
cout << s.countPrimes(4) << endl;
cout << s.countPrimes(6) << endl;
system("pause");
return 0;
}
推荐阅读
-
LeetCode - 38. Count and Say(36ms)
-
leetcode【字符串】-----38. Count and Say(报数)
-
Leetcode1-100: 38. Count and Say
-
LeetCode 38. Count and Say 报数(Java)
-
LeetCode 204. 计数质数 263. 丑数 264. 丑数 II
-
【Hard 递归 动态规划 回文串15】LeetCode 730. Count Different Palindromic Subsequences
-
Leetcode#204. Count Primes
-
LeetCode 204. Count Primes
-
LeetCode ---204. Count Primes
-
【leetcode】204. Count Primes