/*
要求:找出1000以內所有的完數,一個數如果恰好等於它的因子之和,這個數就是完數,例如:6=1+2+3
思路: 1、用for循環找到1000以內的數
2、讓這個數對1和它本身以外的數求余,求余等於0,這個數就是它的因數
3、讓這些因數相加等於它,這個數就是完數,1000以內的完數是6、28、496
*/
import java.util.Scanner;
public class Study008{
public static void main(String[] args){ //i從2開始到1000(因為1不是完數,1是所有數的因數)
for (int i = 2 ;i <= 1000 ;i++ ){
int s = 0; //s做累加,因子加起來等於這個數,此時這就是完數
for (int j = 1 ;j < i /2 ;j++ ){
if (i % j == 0){
s += j;
}
}
if (s == i){
System.out.println(s + "是完數"); //完數結果出來啦 6、28、496
}
}
}
}