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

Java 课程,每天解读一个简单Java之正整数分解质因数

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

package ytr250804;

import java.util.ArrayList;

import java.util.Scanner;

public class PrimeFactorization {

public static void main(String[] args) {

try (

//1.创建Scanner对象过去用户输入

Scanner scanner = new Scanner(System.in)) {

System.out.print("请输入一个正整数(>=2):");

int number=scanner.nextInt();

//2.验证输入是否合法

if(number<2)

{

System.out.println("输入的数必须大于2");

return;

}

//3.保存原始值用于最终输出

int original =number;

//4.存储质因数的动态数组

ArrayList<Integer> factors = new ArrayList<>();

//5从最小的质数2开始分解

int factor =2;

//6 分解过程,当number>1时继续分解

while(number>1) {

if(number%factor == 0) {

//6.1如果当前质数能整除number

factors.add(factor);// 添加到质因数列表

number/=factor;// 更新number为商

}else {

// 6.2 如果不能整除,尝试下一个可能的质数

factor++;

}

}

// 7. 构建输出字符串

StringBuilder result = new StringBuilder();

result.append(original).append("=");

// 8. 拼接所有质因数(用*连接)

for(int i =0 ;i<factors.size();i++) {

if (i>0) {

result.append("*");

}

result.append(factors.get(i));

}

//输出结果

System.out.println(result);

}

}

}

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

相关文章:

  • 在安卓中使用 FFmpegKit 剪切视频并添加文字水印
  • 05.Redis 图形工具RDM
  • io_getevents 和 io_pgetevents 系统调用及示例
  • 论文阅读:DMD蒸馏 | One-step Diffusion with Distribution Matching Distillation
  • SaProt 模型部署与运行教程
  • 【AI】文档理解
  • ZStack Cloud 5.3.40正式发布
  • 大模型能力测评(提示词请帮我把这个项目改写成为python项目)
  • 人工智能之数学基础:几何型(连续型)随机事件概率
  • 深度学习周报(7.28~8.3)
  • 2025年6月电子学会青少年软件编程(C语言)等级考试试卷(七级)
  • 抖音全新推荐大模型RankMixer
  • p2p打洞
  • 后端研发转型爬虫实战:Scrapy 二开爬虫框架的避坑指南
  • [2025ICCV-目标检测方向]DuET:通过无示例任务算术进行双增量对象检测
  • 记一次v-if和key错误使用,导致vue2的内存爆炸修复!
  • 十八、Javaweb-day18-前端实战-登录
  • 11.消息队列
  • 2. 字符设备驱动
  • Docker环境离线安装指南
  • 计算机网络:如何将一个C类网络划分成两个子网
  • 35.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--数据缓存
  • Docker-03.快速入门-部署MySQL
  • 【大模型实战】向量数据库实战 - Chroma Milvus
  • Android 之 蓝牙通信(4.0 BLE)
  • CASAtomic 原子操作详解
  • 1.内核模块
  • 攻防世界-web-csaw-mfw
  • IO流-字节流-FileOutputStream
  • 复现YOLOV5+训练指定数据集