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

「Java案例」求n1-n2内的素数

案例解析

判断单个数是否为素数

编写一个程序,从控制台读取一个整数,判断这个整数是否为素数。素数是指大于1的自然数,且只能被1和它本身整除,没有其他正因数。

# 源文件保存为“PrimeNumberChecker.java”
import java.util.Scanner;public class PrimeNumberChecker {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个整数:");int number = scanner.nextInt();boolean flag = true;for (int n = 2; n <= Math.sqrt(number); n++) {if (number % n == 0) {   //若number能被n整除,意味number数不是素数//当前数不是素数,则flag的值更改为falseflag = false;break;  //跳出当前循环}}if (flag) {System.out.printf("%d是素数", number);} else {System.out.printf("%d不是素数", number);}scanner.close();}
}

运行结果
输入数字5

请输入一个整数:5
5是素数

输入数字10

请输入一个整数:10
10不是素数

代码解析:

  • 输入处理:使用Scanner获取用户输入的数字
  • 优化检查范围:只需检查2到√number的范围,减少不必要的计算
  • 模运算判断:如果number能被任何n整除,则不是素数
  • 结果输出:根据判断结果输出相应信息

找出n1到n2之间的所有素数

判断一个整数m是不是素数,只需判断在[2,m-1]之间是否存在能将m整除的整数,如果都不能被整除,那么 m 就是一个素数。进一步思考,判别m是否是素数,只需判别m能否被[2, m/2]区间的整数整除即可。

# 源文件保存为“PrimeNumberRange.java”
import java.util.Scanner;public class PrimeNumberRange {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入区间上界:");int n1 = scanner.nextInt();System.out.print("请输入区间下界:");int n2 = scanner.nextInt();int count = 0;for (int m = n1; m < n2; m++) {//设置逻辑值flag,初始化为trueboolean flag 
http://www.lryc.cn/news/582971.html

相关文章:

  • 使用Node.js搭建Web应用有哪些注意事项?
  • 在 Vue2 与 Vue3 中,面对 **大数据量交互体验优化** 和 **ECharts 大数据渲染性能优化**
  • 萌新赛第(一)场
  • EfficientVMamba: Atrous Selective Scan for Light Weight Visual Mamba论文精读(逐段解析)
  • 华为泰山服务器重启后出现 XFS 文件系统磁盘“不识别”(无法挂载或访问),但挂载点目录仍在且无数据
  • Nginx完全指南 - 从入门到精通(加强版)
  • 【深度学习入门 鱼书学习笔记(1)感知机】
  • Java常用加密算法详解与实战代码 - 附可直接运行的测试示例
  • Spring Boot 多数据源切换:AbstractRoutingDataSource
  • 语言模型 RLHF 实践指南(一):策略网络、价值网络与 PPO 损失函数
  • MySQL索引面试问题梳理
  • 【Android】组件及布局介绍
  • Flutter基础(前端教程②-卡片列表)
  • 【牛客刷题】小红的v三元组
  • 从单体到微服务:Spring Cloud 开篇与微服务设计
  • 音频主动降噪技术
  • 暑假算法日记第四天
  • Spring AI:检索增强生成(RAG)
  • 工作中的思考
  • Java教程:【程序调试技巧】入门
  • 项目Win系统下可正常获取Header字段,但是到了linux、docker部署后无法获取
  • 数据湖技术之Iceberg-03 Iceberg整合Flink 实时写入与增量读取
  • 【HarmonyOS】鸿蒙端云一体化开发入门详解 (一)
  • 深度剖析 Linux ip neigh:邻居表项的查看与添加实践
  • RabbitMQ第二章(RocketMQ的五大工作模式)
  • 二进制安全-汇编语言-04-第一个程序
  • 为什么elementui的<el-table-column label=“名称“ prop=“name“ label不用写成:label
  • Docker快速部署Hive服务
  • C++ 遍历可变参数的几种方法
  • 零基础|宝塔面板|frp内网穿透|esp32cam远程访问|微信小程序