代码题(2)— 统计所有小于非负整数 n 的质数的数量


   质数也叫素数,只能被1和它本身整除的。

  利用筛选法。

class Solution {
public:
    int countPrimes(int n) {
        if(n < 3)
            return 0;
        int result = 0;
        vector<bool> isPrime(n+5);
        for(int i=0;i<isPrime.size();++i)
            isPrime[i] = true;
        isPrime[0] = false;
        isPrime[1] = false;
        for(int i=2;i<n;++i)
        {
            if(isPrime[i])
            {
                result++;
                for(int j=i*2;j<n;j+=i)  # 去除i的倍数
                    isPrime[j] = false;
            }
        }
        return result;    
        
    }
};

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数返回。 Leetcode练习(Python):第441题:排列硬币:你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。 给定一个数字 n,找出可形成完整阶梯行的总行数。 n 是一个非负整数,并且在32位有符号整型的范围内。 Leetcode练习(Python):排序类:第179题:最大数:给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 Leetcode练习(Python):数组类:第11题:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最短路径(给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。) java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量 js正则表达式校验非负整数:^\d+$ 或 ^[1-9]\d*|0$ 非负整数可重集去重&排序+获得可重集的全排列的几种方法 [LeetCode] Non-negative Integers without Consecutive Ones 非负整数不包括连续的1
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM