算法-计数质数

题目:

给定整数 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;
    }
};
相关推荐
地平线开发者14 小时前
bevformer算法模型详细解读
算法
liliangcsdn14 小时前
ICIR权重矩阵如何加权标准化为综合因子
算法
SDWAN_Cheap14 小时前
SD-WAN智能选路技术的算法与实现机制
算法·php·sdwan
不会就选b15 小时前
数据结构之树&&二叉树(二)
数据结构·算法
渡之15 小时前
ArduPilot (APM)滤波器之SlewLimiter 深度解析
算法
zander25816 小时前
LeetCode 1143. 最长公共子序列
开发语言·python·算法
Sumerking16 小时前
llc_control.c 专项评审(v3 更新版)
c语言·开发语言·算法·obc
软行16 小时前
LeetCode 每日一题 3876. 构造奇偶一致的数组 II
c++·算法·leetcode
绿算技术17 小时前
Solidigm联合绿算技术共同发布《面向 SOHO AI 推理的存储扩展方案》技术白皮书
人工智能·科技·算法·架构·spark
小刘在重生~17 小时前
Java 集合|Collection、List、ArrayList、LinkedList、泛型、Collections 工具类
java·数据结构·list