当前位置: 首页 > news >正文

判断素数两种方法【自用】

普通方法:

如果多次调用,时间复杂度高,有可能导致运行不通过

static boolean isPrime(int x) {if(x<=1) return false;for(int i=2;i<=Math.sqrt(x);i++) {if(x%i==0) {return false;}}return true;}

埃氏筛选法:

用空间换时间,只需要预处理一次,每次判断进行对应下标查找真假即可,时间复杂度大大减少

import java.util.Arrays;
import java.util.Scanner;public class 埃氏筛选素数 {//埃氏筛选static boolean[] sieve(int max) {boolean[] isPrime=new boolean[max+1];Arrays.fill(isPrime, true);isPrime[0]=isPrime[1]=false;for(int i=2;i*i<=max;i++) {for(int j=i*i;j<=max;j+=i) {isPrime[j]=false;}}return isPrime;}//普通方法static boolean isPrime(int x) {if(x<=1) return false;for(int i=2;i<=Math.sqrt(x);i++) {if(x%i==0) {return false;}}return true;}public static void main(String[] args) {Scanner sc=new Scanner(System.in);int max=100;boolean[] isPrime=sieve(max);for(int i=2;i<=max;i++) {if(isPrime[i]) {System.out.println(i);}}sc.close();}
}

http://www.xdnf.cn/news/971515.html

相关文章:

  • 【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
  • 工作中开发的sql总结
  • LeetCode 200.岛屿数量
  • 天猫官方认证TP服务商——品融电商代运营全链路解析
  • 无需安装!在线 SQL 数据库工具实战 :经典 SQL 语句案例
  • NY167NY171美光固态闪存NY176NY180
  • 《炒股进阶:MACD交易技术从入门到精通》速读笔记
  • Nature子刊|ChatNT:生物多模态LLM破壁者!统一DNA/RNA/蛋白质分析的对话式AI
  • JAVA中的多线程
  • 常见算法题目6 - 给定一个字符串,输出其最长的回文子串
  • F5 BIG IP show running config
  • 模型参数、模型存储精度、参数与显存
  • Postman参数化详解
  • leetcode_35.搜索插入位置
  • 如何查看电脑系统的初始安装时间?
  • 龙虎榜——20250610
  • 【沉浸式求职学习day53】【Spring】
  • MFC 第一章概述
  • 2025 Java 面试大全
  • 39.第二阶段x64游戏实战-封包-分析计数器
  • gro文件和top文件介绍,以及如何合并两个gro文件或两个top文件
  • 【论文解读】ReSearch:让LLM自主学习搜索
  • Qt进阶开发:动画框架的介绍和使用
  • Zynq multi boot及网口远程更新开发
  • Android Studio 问题:Android Studio 一直开在 Updating indexes
  • 【运维】【期末实训】网站简易搭建模拟
  • 核心机制:面向字节流
  • C++:std::is_convertible
  • <7>-MySQL内置函数
  • Python训练营-Day27-函数专题2:装饰器