题目:一个数如果恰好等于它的因子之和,这个数就称为完数。例6=1+2+3。编程找出1000以内的所有完数。
我的思路:
1、for循环,给 i 赋值1~1000
2、找出能整除 i 的数并相加
3、相加之后的数sum等于 i 的话,就输出 i
代码如下:
package com.thz.hnstc.test01;
/*
* @author NanTang
* */
public class PerfectNumber {
public static void main(String[] args) {
for (int i = 1; i < 1000; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if(i % j == 0)
sum += j;
}
if(sum == i)
System.out.println("完数:" + i);
}
}
}
运行结果:
完数:6
完数:28
完数:496
我是南棠,一只可爱的Java小白,请大家多多指教哦~