📌  相关文章
📜  数的质因数 - Java (1)

📅  最后修改于: 2023-12-03 15:40:02.350000             🧑  作者: Mango

数的质因数 - Java

简介

质因数指的是一个大于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。