Java判断质因子个数的函数
时间: 2024-11-12 18:03:09 浏览: 9
Java实现分解任意输入数的质因数算法示例
在Java中,我们可以编写一个函数来计算给定整数的质因子个数。这里是一个简单的示例,该函数会分解输入的整数,找出所有的质因数,并返回它们的数量:
```java
import java.util.ArrayList;
import java.util.List;
public class PrimeFactorCount {
public static int countPrimeFactors(int num) {
List<Integer> factors = new ArrayList<>();
for (int i = 2; i <= Math.sqrt(num); i++) {
while (num % i == 0) {
factors.add(i);
num /= i;
}
}
// 如果num大于1(表示有剩余),那么最后一个因子也是质数
if (num > 1) {
factors.add(num);
}
return factors.size();
}
public static void main(String[] args) {
System.out.println(countPrimeFactors(48)); // 输出:4 (因为48=2^4 * 3^1)
System.out.println(countPrimeFactors(97)); // 输出:1 (97是质数)
}
}
```
这个`countPrimeFactors`函数首先从2开始检查每个数是否是输入整数的因子,如果是,则将其添加到列表中并将原数除以这个因子。我们只需要检查到输入数的平方根即可,这是因为如果一个合数有大于其平方根的质因数,那么它必然还有一个小于其平方根的另一个质因数与其相乘。最后,如果剩下的num大于1,说明num本身也是一个质因数。
阅读全文