题目描述
所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × a3 × … × an,并且 1 < a1 ≤ a2 ≤ a3 ≤ … ≤ an。其中a1、a2、…、an均为素数。
先给出一个整数a,请输出分解后的因子。
eg:
输入:
10
18
输出:
10 = 2 * 5
18 = 2 * 3 * 3
以下是本篇文章正文内容,下面案例可供参考
解题思路
如果为素数,即a = a;
如果为合数,即a = 2 * 2 * 2 ;
i 在[2,sqet(a)] 中相除,若所有i都不能整除a,a就是素数
eg:
12 12/2=6 ,被整除,说明2 为它的一个质因数,2
6 6/2=3 ,被整除,说明2 为它的一个质因数,2
3 3/2,不被整除,用下一个数
3 3/3=1,被整除,说明3 为它的一个质因数,3
循环结束,12 = 2 * 2 * 3
代码如下
import java.util.*;
public class Main {
private static List