完数:是指一个数恰好等于它的所有不同因子之和。(不包括自己本身)例如,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);
}
}
}
}
这段代码用于查找并打印1000以内所有的完数。通过两层循环,外层循环遍历2到1000之间的整数,内层循环检查这些数的因子,如果因子之和等于原始数,则该数为完数,并打印出来。
1763

被折叠的 条评论
为什么被折叠?



