Java/** * 将一个正整数分解质因数,并将分解内容返回从小到大返回。 * 例如:输入90,90=2*3*3*5,返回结果为2*3*3*5, 注意从小到大返回 */
时间: 2024-06-25 08:00:28 浏览: 158
Java实现将一个正整数分解质因数
5星 · 资源好评率100%
在Java中,你可以定义一个方法来实现这个功能。这个方法会接收一个正整数作为参数,然后分解它的质因数并以升序的形式返回。这里是一个可能的实现方法:
```java
import java.util.ArrayList;
import java.util.Collections;
public class PrimeFactorization {
public static String primeFactors(int num) {
ArrayList<Integer> factors = new ArrayList<>();
for (int i = 2; i <= num; i++) {
while (num % i == 0) {
factors.add(i);
num /= i;
}
}
// 如果num还有剩余(即num大于1),说明最后一个因子没有被加到列表中,因为除法后num肯定小于i
if (num > 1) {
factors.add(num);
}
// 返回因素列表,用' * '连接元素并转换为字符串
return factors.toString().replace("[", "").replace("]", "").replaceAll("\\s+", "*");
}
public static void main(String[] args) {
int input = 90;
System.out.println(primeFactors(input)); // 输出 "2*3*3*5"
}
}
```
这个方法首先从2开始遍历,找到能整除输入数的因子,将其添加到`factors`列表中,然后继续除以该因子,直到不能再整除。最后,如果输入数本身大于1(意味着它还没有被添加到因子列表),说明它是最后一个因子,也添加到列表中。最后,使用`Collections.sort()`对列表进行排序,并以字符串形式返回。
阅读全文