【题目09】找完数
2017-03-25 本文已影响40人
Xplorist
【程序9】
题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
package com.share.test01_10;
/**
* 【程序9】题目:<br>
* 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。<br>
* 例如6=1+2+3.编程找出1000以内的所有完数。
*
* @author brx
*/
public class Test09 {
public static void main(String[] args) {
test();
}
/**
* 思路:将除了本身之外的因数之和找出来和该数本身比较,<br>
如果相同则就是完数,直接将思路写出来就行了
*/
public static void test() {
System.out.println("1000以内的完数:");
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.print(i + " ");
}
}
}
}