编程找出m~n之间的所有完数,m和n为从键盘输入的两个整数。一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3。
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int m;
int n;
int t, sum = 1, flag = 0;
Scanner reader = new Scanner(System.in);
m = reader.nextInt();
n = reader.nextInt();
if (m > n) {
t = n;
n = m;
m = t;
}
System.out.println(m + " to " + n + " WanShu:");
for (int i = m; i < n; i++) {
if (i == 1)
continue;
sum = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
flag = 1;
System.out.printf("%d,", sum);
}
}
if (flag == 0) {
System.out.println("None");
}
}
}