写一个完美数程序

来源:互联网 发布:linux下codeblocks 编辑:程序博客网 时间:2024/05/22 04:49

完美数,不明白的去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

 

原创粉丝点击