码迷,mamicode.com
首页 > 其他好文 > 详细

因数分解

时间:2017-10-24 11:48:02      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:最小   说明   ast   system   输入   col   ber   分析   不能   

题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。

源码

因数分解

标签:最小   说明   ast   system   输入   col   ber   分析   不能   

原文地址:http://www.cnblogs.com/aeolian/p/7721932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!