Java怎么实现分解任意输入数的质因数算法

  介绍

小编给大家分享一下Java怎么实现分解任意输入数的质因数算法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

具体如下:

<强>分解任意输入数的质因数:

质因数概念:任何一个合数都可以写成几个质数相乘的形式。其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。分解质因数只针对合数。

例如:12=2 x2x3 18=2 x 3 x 3等等

下面来讲解一下这个算法的思路:第一:我们首先写一个求素数的函数;第二,我们做一个分解质因数的函数,然后在其中引入素数函数来判断是否为素数;

<强>下面给出代码(仅供参考):

package  javastudy;   import  java.util。*;   public  class  Testit3  {   public 才能;static  void  main (String [], args), {   ,,,Scanner 拷贝=,new 扫描仪(系统);   ,,,int 数量;   ,,,number =, in.nextint ();   ,,,的因素(数量);,//函数调用   ,,,in.close();,//关流   ,,}   static 才能;void 因子(int 数字),{   ,,,如果(isPrime(数量),//首先进行判断是否为素数,如果是就直接输出   ,,,{   ,,,,,System.out.print(数量);   ,,,}   ,,,for  (int 小姐:=,2,,小姐:& lt;=, number 作用;1;,我+ +),{   ,,,,,if  (number  %,小姐:==,0),{   ,,,,,,,System.out.print(小姐:+,“\ t");   ,,,,,,,int  num =, number /,我,,//进行一次分解num就要变一次!   ,,,,,,,if  (isPrime (num)),{,//判断是否为素数,是的话就直接输出这个数字   ,,,,,,,,,System.out.print (num);   ,,,,,,,},{,else //不是素数就继续分解   ,,,,,,,,,的因素(时间/number  i),,//利用函数递归的思想   ,,,,,,,}   ,,,,,,,//,return ;   ,,,,,,,休息,,//分解完了就退出   ,,,,,}   ,,,}   ,,}//才能判断是否为素数的函数   static 才能;Boolean  isPrime (int 编号),{   ,,,for  (int 小姐:=,2,,小姐:& lt;=, Math.sqrt(数量);,我+ +),{   ,,,,,if  (number  %,小姐:==,0),{   ,,,,,,,return 假;   ,,,,,}   ,,,}   ,,,return 真实;   ,,}   }

运行结果:

癑ava怎么实现分解任意输入数的质因数算法"

以上是“Java怎么实现分解任意输入数的质因数算法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

Java怎么实现分解任意输入数的质因数算法