判断一个数是不是质数(素数)

news/2024/12/27 4:32:44/文章来源:https://www.cnblogs.com/2324hh/p/18528473

 

public static boolean isPrime(int n){if (n <= 3) { return n > 1;) for(int i = 2; i < n; i++){if (n % i == 0) { return false;} ) return true;}

质数(也称为素数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。换句话说,质数只能被1和它自身整除。

  • 例如,2, 3, 5, 7, 11, 13, 17, 19, 23, 29等都是质数。

 

 

编辑

代码演示 判断给定整数n是否为质数的函数:

public boolean isPrime(int n) {if (n <= 3) {return n > 1; // 如果n小于等于3且大于1,则返回true}for (int i = 2; i < n; i++) { // 从2开始遍历到n-1if (n % i == 0) { // 如果n能被i整除return false; // 则n不是质数,返回false}}return true; // 遍历结束后,说明n不能被2到n-1之间的任何数字整除,所以n是质数,返回true
}

函数逻辑分析

  1. 基本情况检查:
  • 如果​​n​​小于等于3,那么只有当​​n​​大于1时才可能是质数。这里直接返回​​n > 1​​的结果。
  1. 循环检查:
  • 从2开始遍历到​​n-1​​,检查是否存在能够整除​​n​​的数。
  • 如果找到任何一个数​​i​​能够整除​​n​​(即​​n % i == 0​​),则​​n​​不是质数,函数返回​​false​​。
  • 如果整个循环都没有找到这样的数,说明​​n​​不能被2到​​n-1​​之间的任何数整除,因此​​n​​是质数,函数返回​​true​​。

复杂度分析

  • 时间复杂度: O(n),最坏的情况下需要遍历从2到n-1的所有数。
  • 空间复杂度: O(1),只使用了有限个额外的变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827247.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Roaring Bitmap

Roaring Bitmap原理 Roaring Bitmaps 就是一种压缩位图索引,后文统称 RBM,RBM 的用途和 Bitmap 很差不多(比如说索引),只是说从性能、空间利用率各方面更优秀了。 RBM 的主要思想并不复杂,简单来讲,有如下三条:我们将 32-bit 的范围 ([0, n)) 划分为 2^16 个桶,每一个…

36 自然语言处理

自然语言,人类语言 将语言拆分,然后处理 语音识别:语音转文字,本质是音素识别 语音合成

力扣新手村之1342、1672、412

LeetCode: 1342[将数字变成0的操作次数] 1672[最富有客户的资产总量] 412[Fizz Buzz]1342[将数字变成0的操作次数] 题目 链接 LeetCode1342[将数字变成0的操作次数] 详情实例 实例1实例2实例3提示题解 思路 判断 num 是否为0 不为0则判断 num 是否为偶数 num 是偶数则除以2 nu…

什么是java序列化?什么情况下需要序列化?

序列化的定义 Java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。序列化是一种用于处理对象流的机制,它将对象的内容转换成一种可以在网络之间传输的形式。反序列化则是将这种形式的对象恢复成原来的对象。 实现方式 序列化是通过实现​​Seri…

国内首位聋人 Android 软件工程师体验通义灵码,“这真是太棒了”

通义灵码 @workspace 功能发布后,收到了非常多新老朋友的积极反馈,其中被一位特别的朋友留下了深刻的印象。Hi 大家好! 我就是人见人爱、Bug 闪开的通义灵码!上个月,我上线了一项新能力: 体验通义灵码 @workspace:轻松分析项目结构,结合代码仓库理解工程、查询问答等补…

诛仙3:幻心千劫|单机安装教程|虚拟机一键端|GM工具包

天给大家带来一款单机游戏的架设:诛仙3-幻心千劫-16职业。游戏版本:v4.4.0 只适用于单机娱乐,此教程是本人亲测所写,踩坑无数,如果你是小白跟着教程走也是可以搭建 亲测视频演示 https://githubs.xyz/show/297.mp4游戏安装步骤 此游戏架设需要安装虚拟机,没有虚拟机的请…

2024.11.5总结

哦哦哦A: 题目可变为:从一个点 \(x\) 走到左侧或右侧第一个 \(\geq y(y \leq x)\) 的位置需要花费 \(l_{x}\) 或 \(r_{x}\) 的代价,多次查询最短路。 首先观察一个点 \(x\) 只往 \(a\) 值高于自己的位置走能走到哪些点。 找到左侧从 \(x\) 出发的后缀 \(\max\) ,右侧从 \(x…

设计模式速览

设计模式速览前言:资料来源吉大设计模式课程,自用 只提取应试回忆关键部分,省略优缺点说明,详细应用之类,扩展挑了常出现的1. 概述 1.1 类间关系 1.1.1 依赖(dependency): ​ 一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化…

try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗

finally 一定会执行,即使是 catch 中 return 了,catch 中的 return 会等 finally 中的代码执行完之后,才会执行。下面提供了一段示例代码和运行结果。问题的核心在于当​​catch​​​块中有​​return​​​语句时,​​finally​​块是否还会被执行。 示例代码解析public …

Synchronized用过吗,其原理是什么

synchronized 是由一对 monitorenter/monitorexit 指令实现的,monitor 对象是同步的基本实现单元。在 Java 6 之前,monitor 的实现完全是依靠操作系统内部的互斥锁,因为需要进行用户态到内核态的切换,所以同步操作是一个无差别的重量级操作,性能也很低。但在 Java 6 的时候…

算法与数据结构——基数排序

基数排序 基数排序(radix sort)的核心思想与计数排序一致,也通过统计个数来实现排序。计数排序适用于数据量n较大但数据范围m比较小的情况。假设我们需要对n=106个学号进行排序,而学号是一个8位数字,这意味着数据范围m=108非常大,使用计数排序需要分配大量内存空间,而基…