因数分解

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

public static void getNumber(int number){
        int a = 2;
        System.out.print(number + "=");
        while(number > a){      //确保分解的数大于2,不然没有意义
            if(number % a == 0){    //查看待分解数是否能被a整除
                System.out.print(a + "*");    //能整除,则打印出来
                number = number / a;    //number的值为除以a后剩下的数
            }else{
                a++;    //a自加一
            }
        }
        System.out.print(a);    //把最后一位打印出来
}

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果质数a恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> a,但n能被a整除,则应打印出a的值,并用n除以a的商,作为新的正整数,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

源码

点赞

Leave a Reply

Your email address will not be published. Required fields are marked *