java质因数的分解_Java实现分解任意输入数的质因数算法示例
本文实例讲述了Java实现分解任意输入数的质因数算法。分享给大家供大家参考,具体如下:
分解任意输入数的质因数:
质因数概念:任何一个合数都可以写成几个质数相乘的形式。其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。分解质因数只针对合数。
例如:12 = 2x2x3 18 = 2 x 3 x 3等等
下面来讲解一下这个算法的思路:第一:我们首先写一个求素数的函数;第二;我们做一个分解质因数的函数,然后在其中引入素数函数来判断是否为素数;
下面给出代码(仅供参考):
package javastudy;
import java.util.*;
public class Testit3 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int number;
number = in.nextint();
factor(number); //函数调用
in.close(); //关流
}
static void factor(int number) {
if(isPrime(number)) //首先进行判断是否为素数,如果是就直接输出
{
System.out.print(number);
}
for (int i = 2; i <= number - 1; i++) {
if (number % i == 0) {
System.out.print(i + "\t");
int num = number / i; //进行一次分解num就要变一次!
if (isPrime(num)) { //判断是否为素数,是的话就直接输出这个数字
System.out.print(num);
} else { //不是素数就继续分解
factor(number / i); //利用函数递归的思想
}
// return ;
break; //分解完了就退出
}
}
}
//判断是否为素数的函数
static Boolean isPrime(int number) {
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
}
运行结果:
PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:
希望本文所述对大家java程序设计有所帮助。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
java质因数的分解_Java实现分解任意输入数的质因数算法示例相关推荐
- java质因数算法_Java分解任意输入数的质因数算法的实现示例
这篇文章主要介绍了Java实现分解任意输入数的质因数算法,涉及java数学运算相关操作技巧,需要的朋友可以参考下 本文实例讲述了Java实现分解任意输入数的质因数算法.分享给大家供大家参考,具体如下: ...
- java所有的质因数_Java实现分解任意输入数的质因数算法示例
本文实例讲述了java实现分解任意输入数的质因数算法.分享给大家供大家参考,具体如下: 分解任意输入数的质因数: 质因数概念:任何一个合数都可以写成几个质数相乘的形式.其中每个质数都是这个合数的因数, ...
- Java编程之图形化设计求任意输入数的阶乘
问题描述:下面是我使用Java编程所实现的图形化的能求输入的任意数的阶乘. 程序源码: import java.awt.*; import java.awt.event.*; import javax ...
- java 三角形面积公式_java中计算任意三角形面积。
你这个程序第二个类其实特别乱 是我刚才没细看 这回肯定改对了 我测试过了 还有你所说的推荐答案根本没必要用buffer,系统完全可以获取double类型的数据好么?别误导初学者! 运行之后,你只要每次 ...
- java 0-9所有排列_java实现:键盘输入从0~9中任意5个数,排列组合出所有不重复的组合,打印出来...
必有追加大分!!!比如1.2.3.4.5共有120个组合12345,12354,12435,12453,12534,12543:13245,13254,13425,13452,13524,13542: ...
- java 解压缩 工具类_Java实现的zip压缩及解压缩工具类示例
本文实例讲述了Java实现的zip压缩及解压缩工具类.分享给大家供大家参考,具体如下: import java.io.BufferedInputStream; import java.io.Buffe ...
- java的flush方法_Java中的BufferedWriter flush()方法及示例
Java中buffered writer类的flush()方法用于刷新缓冲的writer流中的字符.语法:公共void flush()指定者:此方法由Flushable接口的flush()方法指定.重 ...
- java 处理表单_java – 处理multipart / form-data输入
我只是尝试使用FormDataMultiPart但不幸的是它似乎没有 救命. 现在我收到以下错误消息: SEVERE: A message body reader for Java class com ...
- java循环的概念_Java数据结构之循环队列简单定义与用法示例
本文实例讲述了Java数据结构之循环队列简单定义与用法.分享给大家供大家参考,具体如下: 一.概述: 1.原理: 与普通队列的区别在于循环队列添加数据时,如果其有效数据end == maxSize - ...
最新文章
- HP小型机的信息的命令集(一)
- 剑指offer 面试31题
- Hive与Hbase结合使用
- 推荐系统中的Bias/Debias大全
- 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(六)
- kafka删除队列_没想到 Kafka 还会这样问,学会这些带你轻松搞定大厂面试!
- matlab aviobj,MATLAB AVI 视频读取处理
- 4000元性价比主机
- Python十进制转十五进制
- cocos2d-x基于windows平台交叉编辑android工程
- #leetcode刷题之路27-移除元素
- 成功解决生意参谋中transit-id和加密数据date
- 商用密码产品认证-金融数据密码机
- python非法的标识符_Python标识符
- 构建神经网络- 手写字体识别案例
- PythonJava版【LeetCode】简单题答案整理01
- Word中跨页表格都显示表头
- 测试tcp和udp端口连通性
- c:set -----------JSTL
- matlab画一维波动方程,MATLAB编辑一维波动方程的模拟的程序.doc
热门文章
- php导入csv wps乱码,《excel打开csv格式乱码》 WPS不兼容EXCEL打开后出现乱码怎么解决...
- php layui树形实现,树形菜单文档 - layui.tree-示例
- mac 建立软链接_MAC要倒闭了吗?正装口红80块,生姜高光105,让爱老师存点钱吧!...
- hbase入门综合概要介绍
- python 改文件名字_【Python】按要求修改文件名
- CentOS8安装jdk1.8
- An error occured instantiating job to be executed. job-Quartz的Job无法实例化原因及解决方案总结
- NoClassDefFoundError: Could not initialize class com.fasterxml.jackson.databind.ObjectMapper
- idea安装drl插件
- SpringBoot启动错误 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.