算法-计数质数

题目:

给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。

思路:

使用埃式筛法

当n大于等于2时,如果当前遍历的数 i 是质数,那么从 i*i 开始,直到 n 为止,把 i 的倍数都标记为合数

代码:

cpp 复制代码
class Solution {
public:
    int countPrimes(int n) {
        if(n <= 2) return 0;
        vector<bool> isPrime(n + 1, true);
        for(int i = 2; i < n; i++){
            if(isPrime[i]){
                for(int j = i; j <= n / i; j++){
                    isPrime[i * j] = false;
                }
            }
        }

        int res = 0;
        for(int i = 2; i < n; i++){
            if(isPrime[i]) res++;
        }

        return res;
    }
};
相关推荐
陈天伟教授几秒前
人工智能应用- 材料微观:07.SliceGAN 模型
人工智能·神经网络·算法·机器学习·推荐算法
郝学胜-神的一滴21 分钟前
Python中的del语句与垃圾回收机制深度解析
服务器·开发语言·网络·python·算法
手握风云-23 分钟前
Java 数据结构第三十期:LRUCache 的“遗忘机制”
数据结构
重生之后端学习25 分钟前
17. 电话号码的字母组合
java·开发语言·数据结构·算法·深度优先
0 0 027 分钟前
CCF-CSP 32-2 因子化简(prime)【C++】考点:素数因子分解(试除法)
开发语言·数据结构·c++·算法
yyy(十一月限定版)28 分钟前
图论——最短路Dijkstra算法
算法·图论
重生之我是Java开发战士28 分钟前
【优选算法】分治:快速排序与归并排序
算法
专注VB编程开发20年32 分钟前
早期的redis是进程内的字典列表操作,后面改成TCP网络调用
数据库·redis·算法·缓存
仰泳的熊猫32 分钟前
题目1545:蓝桥杯算法提高VIP-现代诗如蚯蚓
数据结构·c++·算法·蓝桥杯
TracyCoder12332 分钟前
LeetCode Hot100(57/100)——5. 最长回文子串
算法·leetcode·职场和发展