【发布时间】:2019-07-20 02:14:23
【问题描述】:
我正在开发一个程序,该程序接受用户输入,然后打印因素列表。
我对如何打印列表中最小的因素感到困惑。
有什么建议吗?
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter integer: ");
long num = input.nextLong();
ArrayList<Long> list1 = new ArrayList<>(), list2 = new ArrayList<>();
for(long i = 1; i <= Math.sqrt(num); i++) {
if(num % i == 0) {
list1.add(i);
if(i != num/i) {
list2.add(num/i);
}
}
}
int n1 = list1.size() - 1;
int n2 = list2.size() - 1;
for(int i = 0; i <= n1; i++) {
System.out.println(list1.get(i));
}
for(int i = n2; i >= 0; i--) {
System.out.println(list2.get(i));
}
【问题讨论】:
-
“最小因素”是什么意思?最小因子始终为 1,即
list1.get(0)