//求完数(1不是
V1.0
Scanner s = new Scanner(System.in);
int sum = 0;
for (int i = 2; i <= 1000; i++) {
for (int j = 1; j <= i/2; j++) {
if(i%j == 0){
sum += j;
}
```}
if(sum == i){
System.out.println(i);
}
}
```java
V2.0
//优化:求因子只要除到i/2就行,不用除完
//修改,sum应该定义在第一个for循环里,因为每次都要刷新
Scanner s = new Scanner(System.in);
for (int i = 2; i <= 1000; i++) {
int sum = 0;
for (int j = 1; j <= i/2; j++) {
if(i%j == 0){
sum += j;
}
}
if(sum == i){
System.out.println(i);
}
}