算法-计数质数

题目:

给定整数 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;
    }
};
相关推荐
qianyanwanyv11 小时前
数据结构概念
数据结构
Logic10111 小时前
C语言/数据结构位运算题解:异或XOR找出英雄升级系统中的“独特经验值“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
不会就选b11 小时前
算法日常・每日刷题--<贪心>15
算法
鹿角片ljp12 小时前
Prompt Cache、Token 成本与 Plan Compiler 的工程设计
java·python·算法
萧西待水18 小时前
奥赛一本通 1447 靶形数独
算法·深度优先
梦帮科技20 小时前
AI 音乐产品的发布工程:验证门、数据发布、回滚与生产运维纪律
数据结构·数据库·架构·node.js·音视频·动态规划·推荐算法
泯泷20 小时前
那段文字是谁删的?Yjs 14 正式版之前,一套删除归属方案的实现与边界
前端·javascript·算法
hold?fish:palm20 小时前
34 合并K个升序链表
javascript·算法·链表
C++ 老炮儿的技术栈21 小时前
我们在设计tcp协议时,要传一个字符串过去,报文:头十长度十内容,是否要把‘\0‘也填入,长度是否包含‘\0‘
开发语言·数据结构·c++·mfc·c
Navigator_Z1 天前
LeetCode //C - 1252. Cells with Odd Values in a Matrix
c语言·算法·leetcode