编写一个程序,该程序读取整数并按递增顺序显示其所有最小因子。例如,如果输入整数为 120,则输出应如下所示:2、2、2、3、5。java
时间: 2024-03-06 22:52:18 浏览: 21
好的,以下是实现该程序的Java代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
List<Integer> factors = new ArrayList<>();
int factor = 2;
while (num > 1) {
if (num % factor == 0) {
factors.add(factor);
num /= factor;
} else {
factor++;
}
}
for (int i = 0; i < factors.size(); i++) {
System.out.print(factors.get(i));
if (i != factors.size() - 1) {
System.out.print("、");
}
}
}
}
```
程序首先从标准输入中读取一个整数,然后使用一个列表存储该整数的所有最小因子。程序从2开始,依次判断该整数是否能被2整除,如果可以,则将2加入因子列表中,并将该整数除以2;否则,将因子加1,继续判断是否能整除,直到该整数变为1为止。最后,程序输出因子列表中的元素,并在每个元素之间加上中文逗号。