将一个正整数分解质因数

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

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

代码如下:

package problem2;

/**
 * @author Hutongling
 *
 * @time:2017年4月6日 上午9:24:40
 */
public class 分解质因数 {

    static void decompose(int n) {
        System.out.print(n + "=");
        int m = n;
        for (int i = 2; i < n + 1; i++) {
            while (n % i == 0 && n != i) {
                System.out.print(i + "*");
                n /= i;
            }
            if (n == i) {
                System.out.println(i);
                break;
            }
        }
    }
    public static void main(String[] args) {
        decompose(90);
        decompose(126);
    }

}

结果如下:
90=2*3*3*5
126=2*3*3*7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值