首页 java算法 java算法题:正整数分解质因数

java算法题:正整数分解质因数

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最…

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

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

public class exp2{
	public exp2(){}
    public void fengjie(int n){
        for(int i=2;i<=n/2;i++){
            if(n%i==0){
                System.out.print(i+"*");
                fengjie(n/i);
                }
        }
        System.out.print(n);
        System.exit(0);///不能少这句,否则结果会出错
        }
        public static void main(String[] args){
             String str="";
             exp2 c=new exp2();
             str=javax.swing.JOptionPane.showInputDialog("请输入N的值(输入exit退出):");
             int N;
             N=0;
             try{
                     N=Integer.parseInt(str);
                     }catch(NumberFormatException e){
                         e.printStackTrace();
                         }
            System.out.print(N+"分解质因数:"+N+"=");
            c.fengjie(N);
        }
}

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

工作中java代码编写总结建议(持续更新)

工作中java代码编写总结建议(持续更新)

1.对于自己创建的每一个类,都考虑置入一个main(),其中包含了用于测试那个类的代码。 特别是帮助类的代码 2.每个名...
git简单学习(二)

git简单学习(二)

git 和svn有个区别就是暂存区 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区; 第二步是...
web缓存的了解

web缓存的了解

什么是Web缓存,为什么要使用它? Web缓存游走于服务器和客户端之间。这个服务器可能是源服务器(资源所驻留的服务器Ad...
小程序 wxss样式总结

小程序 wxss样式总结

display属性 none:此元素不会被显示 block:两个元素自动换行 inline:两个元素靠在一起 inher...
RedisDesktopManager 打开报0xc000007b程序错误

RedisDesktopManager 打开报0xc000007b程序错误

若发生这个问题,非常的简单,只要打开该软件的安装目录,双击运行下面的vcredist_x86.exe即可,这是由于在安装...
返回顶部