public static void main(String[] args) {
//请输出1000以内所有完数
//如果一个数恰好等于它的因子之和 例如 1+2+3=6
List<Integer> integers = new ArrayList<Integer>();//创建一个集合用来放完数
for (int i = 0; i < 1000; i++) {//遍历1000以内的数字
int sum = 0;//初始化变量
for (int j = 1; j <= i / 2; j++) {//遍历因子 最大数1000的最大因子时1000/2 所以j<i/2
if (i % j == 0) {//如果没有余数就累加和
sum += j;//累加
}
}
if (sum == i & sum != 0) {//如果累加和等于1000以内遍历的数和不等于0就输出
integers.add(i);//添加到数组中
}
}
System.out.println(integers.toString());//输出
}
【简单编程】输出1000以内的完数
于 2023-08-22 10:34:08 首次发布