• 刷题-力扣-204


    204. 计数质数

    题目链接

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/count-primes
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    题目描述

    统计所有小于非负整数 n 的质数的数量。

    示例 1:

    输入:n = 10
    输出:4
    解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
    

    示例 2:

    输入:n = 0
    输出:0
    

    示例 3:

    输入:n = 1
    输出:0
    

    提示:

    0 <= n <= 5 * 106
    

    题目分析

    1. 求小于n的质数数量。
    2. 鉴于时间和空间的限制,故排除双循环的情况。
    3. 使用“埃拉托斯特尼筛法”进行解题

    代码

    class Solution {
    public:
        int countPrimes(int n) {
            int sum = 0;
            if(n < 1) return sum;
            int is[n];
            for(int i = 2; i < n; i++) {
                is[i] = 1;
            }
            for(int i = 2; i < n; i++) {
                if(is[i] == 1){
                    sum++;
                    for(int j = i * 2; j < n; j += i) {
                        is[j] = 0;
                    }
                }
            }
            return sum;
            
        }
    };
    

    用时51min

  • 相关阅读:
    Django 中间件
    Django之ORM介绍
    ORM相关操作
    Django Form表单
    Django REST framework 中文文档
    前端基础之BOM和DOM
    Django--ORM(2)
    Django--视图
    Django--路由系统
    Django--模板语言
  • 原文地址:https://www.cnblogs.com/HanYG/p/14076852.html
Copyright © 2020-2023  润新知