题目描述:
自己的问题解答:
package com.jiahao;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class P2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
for(int i=4;i<=N;i++){
getFactors(i);
}
}
private static void getFactors(int n) {
int sum = 0;
List a = new ArrayList();
a.add(1);
for(int i=2;i<=Math.sqrt(n);i++){
if(n%i == 0){
a.add(i);
if(n != i*i){
a.add(n/i);
}
}
}
Collections.sort(a);;
for(int j=0;j<a.size();j++){
sum = sum + (int)a.get(j);
}
if(sum == n){
System.out.println(n+" " + "its factors are" + a);
}
}
}
运行答案:
疑问:怎么才能消除这个方括号,让它和题目描述一致?求大佬们解答