完数:是指一个数恰好等于它的所有不同因子之和。(不包括自己本身)例如,6是完数,因为6=1+2+3。而24不是完数,因为24≠1+2+3+4+6+8+12=36。
代码实现:
public class 完数 {
public static void main(String[] args) {
for (int i = 2; i <= 1000; i++) {
/*
定义被除数i
因为完数的因子不算他本身,所以直接忽略掉1和0
使i从2开始计数
因为是1000以内
所以i小于等于1000
*/
int sum = 0;
//定义一个sum去容纳因子的和
for (int k = 1; k < i; k++) {
/*
定义被除数
*/
if (i % k == 0) {
/*
判断有哪些因子
*/
sum = k+sum;
/*
将得到的因子加起来
*/
}
}
if(sum==i) {
/*
判断是否为完数
*/
System.out.println(sum);
}
}
}
}