一个数恰好等于他的因子之和,那么这个数就是完数,因子就是所有可以整除这个数的数,不包括这个数本身。
要求1000以内的完数,只要将一个数的因子求出来,加起来,比较下。上代码
/**
*
*/
package com.alpha.javaexam;
/**
* @author Simon
* @category 计算1000以内的完数
*/
public class AmicableNumber {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1; i < 1001; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum = sum + j;
}
}
if (i == sum) {
System.out.println("完数" + i);
}
}
}
}