算法-计数质数

题目:

给定整数 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;
    }
};
相关推荐
AI科技星12 小时前
时空的几何动力学:基于光速螺旋运动公设的速度上限定理求导与全维度验证
人工智能·线性代数·算法·机器学习·平面
㓗冽12 小时前
进制转换(字符串)-基础题82th + 表达式求值(字符串)-基础题83th + 删除字符(字符串)-基础题84th
算法
小范自学编程12 小时前
算法训练营 Day31 - 贪心算法 Part05
算法·贪心算法
锅包一切12 小时前
PART2 双指针
c++·算法·leetcode·力扣·双指针
tankeven12 小时前
HJ91 走方格的方案数
c++·算法
俩娃妈教编程12 小时前
2024 年 09 月 二级真题(2)--小杨的矩阵
c++·算法·gesp真题
浅念-12 小时前
C++ STL vector
java·开发语言·c++·经验分享·笔记·学习·算法
小雨中_12 小时前
2.8 策略梯度(Policy Gradient)算法 与 Actor-critic算法
人工智能·python·深度学习·算法·机器学习
m0_5312371712 小时前
C语言-if/else,switch/case
c语言·数据结构·算法
Hag_2012 小时前
LeetCode Hot100 239.滑动窗口最大值
数据结构·算法·leetcode