Java实现将一个正整数分解质因数

简介:
* 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
  * 分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
  *(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
  *(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
  *(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
  *这个题目很明显是要用递归算法来实现的,打印“*”有些技巧,但也很容易解决,程序如下:
import  java.util.Scanner;
public class Yinshifenjie {
public static void fenjie(int n) {
for (int i=2;i <=n;i++) {
if (i == n) {
System.out.print(i);
return;
}
if (n > i && (n % i == 0)) {
System.out.print(i+"*");
fenjie(n / i);
break;
}
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = input.nextInt();
fenjie(n);
}
}

最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
8月前
|
Java
java中,如何实现输入一个正整数,并将这个数字反转输出,比如输入123,输出321
java中,如何实现输入一个正整数,并将这个数字反转输出,比如输入123,输出321
java中,如何实现输入一个正整数,并将这个数字反转输出,比如输入123,输出321
|
5月前
|
Java Docker 微服务
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。每个服务负责特定功能,通过轻量通信机制协作。利用Spring Boot与Spring Cloud等框架可简化开发流程,支持模块化设计、独立部署、技术多样性和容错性,适应快速迭代的需求。
90 1
|
7月前
|
前端开发 算法 Java
2019蓝桥杯大赛省赛Java大学B组 数的分解
2019蓝桥杯大赛省赛Java大学B组 数的分解
41 0
|
8月前
|
算法 Java 开发者
Java:求正整数分解为质因数Java
Java:求正整数分解为质因数Java
|
Java
Java 实现汉字按照首字母分组排序
Java 实现汉字按照首字母分组排序
732 0
|
Java 数据安全/隐私保护
JAVA 实现上传图片添加水印(详细版)(上)
JAVA 实现上传图片添加水印(详细版)
1313 0
JAVA 实现上传图片添加水印(详细版)(上)
|
网络协议 Java
Java网络编程:UDP/TCP实现实时聊天、上传图片、下载资源等
ip地址的分类: 1、ipv4、ipv6 127.0.0.1:4个字节组成,0-255,42亿;30亿都在北美,亚洲就只有4亿 2011年就用尽了。
Java网络编程:UDP/TCP实现实时聊天、上传图片、下载资源等
|
Java
Java实现拼图小游戏(7)——查看完整图片(键盘监听实例2)
由于在移动和图片中我们已经添加了键盘监听,也继承了键盘监听的接口,那么我们只需要在重写方法内输入我们的代码即可
228 0
|
存储 Java
Java实现图书管理系统
本篇文章是对目前Java专栏已有内容的一个总结练习,希望各位小主们在学习完面向对象的知识后,可以阅览本篇文章后,自己也动手实现一个这样的demo来加深总结应用已经学到知识并进行巩固。
439 0
Java实现图书管理系统
|
数据可视化 Java
Java实现拼图小游戏(1)—— JFrame的认识及界面搭建
如果要在某一个界面里面添加功能的话,都在一个类中,会显得代码难以阅读,而且修改起来也会很困难,所以我们将游戏主界面、登录界面、以及注册界面都单独编成一个类,每一个类都继承JFrame父类,并且在类中创建方法来来实现页面
561 0
Java实现拼图小游戏(1)—— JFrame的认识及界面搭建