📅  最后修改于: 2023-12-03 15:40:02.350000             🧑  作者: Mango
质因数指的是一个大于1的正整数的因数中,除了1和它本身的质数因数。将一个正整数表示成质因数的乘积的形式,称为分解质因数。
在 Java 中,我们可以利用循环的方式来找出一个数的质因数,具体方法如下。
import java.util.ArrayList;
public class PrimeFactors {
public static ArrayList<Integer> getPrimeFactors(int number) {
ArrayList<Integer> primeFactors = new ArrayList<>();
for (int i = 2; i <= number; i++) {
while (number % i == 0) {
primeFactors.add(i);
number /= i;
}
}
return primeFactors;
}
}
上述代码中,我们先定义了一个 getPrimeFactors
的静态方法,入参是一个整数 number
,返回值是一个 Integer
类型的 ArrayList
。在方法中,我们先定义了一个空的 ArrayList 对象 primeFactors
用于存放质因数。
接下来我们使用 for 循环从2开始遍历到number,判断每个数是否是number的因数。如果是,将该数加入到primeFactors中,并将number除以该数,持续执行直到number无法再被该数整除。
最后,我们返回该 ArrayList
对象,即可得到传入的 number
的所有质因数。
我们来运行一个例子,计算 72 的质因数。
ArrayList<Integer> primeFactors = PrimeFactors.getPrimeFactors(72);
System.out.println(primeFactors);
输出结果如下:
[2, 2, 2, 3, 3]
即 72 的所有质因数为 2, 2, 2, 3 和 3。