算法-计数质数

题目:

给定整数 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;
    }
};
相关推荐
天赐学c语言6 分钟前
12.18 - 有效的括号 && C语言中static的作用
数据结构·c++·算法·leecode
2401_8762213412 分钟前
数据结构-绪论
数据结构
季远迩12 分钟前
LeetCode 热题 100 Python3易懂题解(更新中)
算法·leetcode·哈希算法
CoovallyAIHub14 分钟前
从“模仿”到“进化”!华科&小米开源MindDrive:在线强化学习重塑「语言-动作」闭环驾驶
深度学习·算法·计算机视觉
别动哪条鱼14 分钟前
SDL 函数对各对象缓冲区的影响
网络·数据结构·ffmpeg
xie_pin_an26 分钟前
C 语言排序算法全解析:从原理到实战,附性能对比
c语言·算法·排序算法
CoovallyAIHub28 分钟前
SAM 真的开始「分割一切」,从图像到声音,Meta 开源 SAM Audio
深度学习·算法·计算机视觉
三斗米31 分钟前
从思维链到思维树:一步步解锁大语言模型的推理能力
算法
jianfeng_zhu43 分钟前
添加逗号问题
数据结构
前端小L44 分钟前
贪心算法专题(二):波动中的智慧——只取极值「摆动序列」
数据结构·算法·贪心算法