相关文章:
分解质因数:把一个合数用质因数相乘的形式表示出来,分解质因数只针对合数 (如 30=2×3×5)
每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数
private static List<Integer> list = new ArrayList<>();
private static boolean isPrime(int number) {
if (number < 2) {
return false;
}
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
private static List<Integer> getPrimeFactor(int number) {
if (isPrime(number)) {
list.add(number);
}
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
list.add(i);
int num = number / i;
getPrimeFactor(num);
break;
}
}
return list;
}
public static void main(String[] args) {
System.out.println(getPrimeFactor(36)); // [2, 2, 3, 3]
}