zoukankan      html  css  js  c++  java
  • 【简单算法】41.计数质数

    题目:

    统计所有小于非负数整数 n 的质数的数量。
    
    示例:
    
    输入: 10
    输出: 4
    解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7

    解题思路:

    代码实现:

    class Solution {
    public:
        bool isPrime(int num) {
            if (num <= 1) return false;
            for (int i = 2; i*i <= num; ++i) {
                if (num%i == 0) return false;
            }
            return true;
        }
    
        int countPrimes(int n) {
            bool *isPrime = new bool[n];
            for (int i = 2; i < n; ++i) {
                isPrime[i] = true;
            }
            for (int i = 2; i*i < n; ++i) {
                if (!isPrime[i]) continue;
                for (int j = i*i; j < n; j += i) {
                    isPrime[j] = false;
                }
            }
            int count = 0;
            for (int i = 2; i < n; ++i) {
                if (isPrime[i]) count++;
            }
            return count;
        }
    };
  • 相关阅读:
    4月24日 PHP基础
    4月22日 常用函数
    4月22日 练习题
    PHP正则数组
    PHP基础函数应用
    数据库SQL语句
    高级查询
    mysql
    CSS样式表
    词汇
  • 原文地址:https://www.cnblogs.com/mikemeng/p/9000170.html
Copyright © 2011-2022 走看看