埃氏筛选-判断素数

核心思路如下:

初始化:创建一个布尔数组 isshushu,其长度等于要检查的数 n。这个数组用于标记每个数是否为质数,初始时所有数都假设为质数(即数组元素均为 false)。

筛选:从最小的质数2开始,将它的所有倍数标记为合数(非质数),即把 isshushu 数组中对应索引位置的值设置为 true。由于一个数的质因数必定小于或等于它的平方根,所以只需要检查到 sqrt(n) 即可。

计数:在筛选过程中,每当遇到一个未被标记为合数的数(即 isshushu 数组中对应值为 false 的数),则它就是一个质数,增加质数计数器 count 的值。

返回结果:当所有小于 n 的数都经过筛选后,返回质数计数器 count 的值,即小于 n 的质数数量。

通过这种方式,代码能够高效地找出并计算给定范围内质数的数量,避免了逐一检查每个数是否为质数的低效方法。

直接上代码:

public class Solution {
    public static int search(int n) {
        boolean[] isshushu = new boolean[n];
        int count = 0;
        for (int i = 2; i < n; i++) {
            if (!isshushu[i]) {
                count++;
                for (int j = 2 * i; j < n; j += i) {
                    isshushu[j] = true;
                }
            }
        }
        return count;
    }

    public static void main(String[] args) {
        int cc=search(100);
        System.out.println(cc);
    }
}

相关推荐

  1. 筛选-判断素数

    2024-04-27 17:42:01       13 阅读
  2. python 筛法判断一个数是否为素数

    2024-04-27 17:42:01       18 阅读
  3. 筛选法(拉托色尼筛法)求100之内的素数

    2024-04-27 17:42:01       16 阅读
  4. C++算法——

    2024-04-27 17:42:01       8 阅读
  5. D. 素数筛选

    2024-04-27 17:42:01       5 阅读
  6. 115. 素数筛选

    2024-04-27 17:42:01       8 阅读
  7. 判断质数(素数):

    2024-04-27 17:42:01       24 阅读
  8. 判断素数/质数

    2024-04-27 17:42:01       7 阅读
  9. 判断素数的方法

    2024-04-27 17:42:01       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-27 17:42:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-27 17:42:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-27 17:42:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-27 17:42:01       20 阅读

热门阅读

  1. 探索树与二叉树:从基础到应用的完整指南

    2024-04-27 17:42:01       10 阅读
  2. C#中如何定义带参数的EventHandler?

    2024-04-27 17:42:01       11 阅读
  3. Ubuntu 18.04 安装 CMake & Ceres-Solver 记录

    2024-04-27 17:42:01       11 阅读
  4. nacos外接mysql的docker部署方式

    2024-04-27 17:42:01       10 阅读
  5. 07_c/c++开源库protobuf序列化

    2024-04-27 17:42:01       14 阅读
  6. 408数据结构专项2011

    2024-04-27 17:42:01       15 阅读
  7. 嵌入式股票行情图片

    2024-04-27 17:42:01       13 阅读
  8. Windows如何安装spark

    2024-04-27 17:42:01       15 阅读
  9. TypeScript 学习笔记

    2024-04-27 17:42:01       12 阅读
  10. vue3组件 描点定位以及监听滚动切换对应activeTab

    2024-04-27 17:42:01       7 阅读