盈数和完数
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class PerfectNumber {
public static void main(String[] args) {
// 完数
System.out.println("完数: ");
List list = getPerfectNumber(2, 60);
list.forEach(i -> System.out.println(i));
// 盈数
list = getAbundantNumber(2,60);
System.out.println("盈数: ");
list.forEach(i -> System.out.println(i));
}
public static List<Integer> getPerfectNumber(int start, int end) {
List<Integer> list = new ArrayList<>();
int index = 0;
for (int i = start; i <= end; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) sum += j;
}
if (i == sum) {
list.add(i);
}
}
return list;
}
public static List<Integer> getAbundantNumber(int start, int end) {
List<Integer> list = new ArrayList<>();
int index = 0;
for (int i = start; i <= end; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) sum += j;
}
if (i > sum) {
list.add(i);
}
}
return list;
}
}