完数:一个数等于它的因子之和。 如 6=1+2+3
因子:除去这个数本身的正的约数
求1000内所有完数:
public class TestWanShu {
public static void main(String[] args) {
int fa = 0;
for (int i = 1; i < 1000; i++, fa = 0) {
// 每执行完一次下面的循环就会将i的所有因子累加到 fa 中
for (int j = 1; j < i; j++) {
if (i % j == 0) {
fa += j;
}
}
if (i == fa) {
System.out.println(i);
}
// fa = 0;
}
}
}输出结果:
6
28
496
来源:https://www.cnblogs.com/afangfang/p/12445998.html