zoukankan      html  css  js  c++  java
  • 算法——判断范围内的质数数量

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

    解题思路:

    • 首先想到的是暴力枚举,但是会超时。
    • 采用埃氏筛选发,所谓素数,就是由质数的积够成的,所以,当得到一个质数,就可以标记后面所有由它的乘积而形成的素数。
    • 利用一个表标表示当前数是或否为素数。
    • 首先从低到高枚举所有数,然后如果是质数答案就加一,并标记于其关联的所有素数。
    class Solution {
        public int countPrimes(int n) {
            boolean[] f = new boolean[n];
            int res = 0;
            for(int i = 2; i < n; i++) {
                if(!f[i]) {
                    res += 1;
                    // 标记后面的素数
                    for(int j = 2; j * i < n; j++) {
                        f[j * i] = true;
                    }
                }
            }
    
            return res;
        }
    }
    
  • 相关阅读:
    Daily Scrum – 1/15
    Daily Scrum – 1/12
    Daily Scrum – 1/11
    Daily Scrum – 1/7
    Daily Scrum – 1/6
    Daily Scrum – 1/5
    Daily Scrum – 1/4
    1/13 update
    stand up meeting 1--11
    stand up meeting 1-6
  • 原文地址:https://www.cnblogs.com/lippon/p/14117603.html
Copyright © 2011-2022 走看看