什么是完数: 一个数如果恰好等于它的因子之和。例如 6=1+2+3
方法一:
public class Main {
public static void main(String[] args) {
System.out.println("1到1000的完数有:");
for (int i=1; i < 1000; i++){
int t = 0;
for (int j=1; j < i; j++){
if(i % j == 0){//因子
t = t + j;
}
}
if(t == i){
System.out.print(i+" ");
}
}
}
}
方法二:更优化
public class Main {
public static void main(String[] args) {
System.out.println("1到1000的完数有:");
for (int i=1; i < 1000; i++){
int t = 0;
for (int j=1; j <=i/2; j++){
if(i % j == 0){
t = t + j;
}
}
if(t == i){
System.out.print(i+" ");
}
}
}
}