写一个完美数程序

简介: 完美数,不明白的去bing搜索吧。下面给程序代码,没有加多线程,不过现在的CPU已经很快了,瞬间就完了。package com.yourcompany.struts; public class PerfectNumber { public static void main(String[] args) { // int sum, k; int perfectNum[]

完美数,不明白的去bing搜索吧。

下面给程序代码,没有加多线程,不过现在的CPU已经很快了,瞬间就完了。

package com.yourcompany.struts;

public class PerfectNumber {
	public static void main(String[] args) {
		// int sum, k;
		int perfectNum[] = new int[100];
		for (int num = 1; num <= 10000; num++) {
			int sum = 0;
			int maxPer = 0;
			for (int i = 1; i <= num - 1; i++) {
				if (num % i == 0) {
					sum = sum + i;
					perfectNum[maxPer++] = i;
				}
			}
			if (num == sum) {
				System.out.print(num + "=");
				for (int i = 0; i < maxPer; i++) {
					if (i > 0) {
						System.out.print("+");
					}
					System.out.print(perfectNum[i]);
				}
				System.out.print("\n");
			}
		}
	}
}


 运行结果如下:

 

6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124+248
8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064

 

相关文章
|
2天前
Armstrong 数
【10月更文挑战第24天】Armstrong 数。
17 7
|
8天前
找出最大的数
【10月更文挑战第18天】找出最大的数。
12 6
|
13天前
比较两个数
【10月更文挑战第13天】比较两个数
9 1
|
6月前
1002 写出这个数
1002 写出这个数
30 0
|
6月前
|
C++
第三大的数(C++)
第三大的数(C++)
40 0
|
12月前
第三大的数
第三大的数
|
C++
完美数(C++)
对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。给定一个 整数 n, 如果是完美数,返回 true;否则返回 false。
182 0
|
C++
201612-1 中间数
201612-1 中间数
70 0
201612-1 中间数
|
C++
201312-4 有趣的数
201312-4 有趣的数
65 0
201312-4 有趣的数