百里登风

导航

java 分解质因数

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

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

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

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

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

 

package Studytest;

public class Prog4 {
    public static  void main(String [] args){
       int n=900;
       decompose(n);
    }

    //因数分解函数
    private static void decompose(int n)
    {
        System.out.print(n+"=");
        for(int i=2;i<=n;i++)
        {
            while (n%i==0&&n!=i)
            {
                n/=i;
                System.out.print(i+"*");
            }
            if(n==i){
                System.out.print(i);
                break;
            }
        }
    }
}

 

运行结果:

 

 

 

 

 

 

posted on 2019-05-06 21:20  百里登峰  阅读(5035)  评论(1编辑  收藏  举报