首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

写一个完善数程序

2012-09-05 
写一个完美数程序完美数,不明白的去bing搜索吧。下面给程序代码,没有加多线程,不过现在的CPU已经很快了,瞬

写一个完美数程序

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

 

1楼bill200711022昨天 20:35
O(N^2)的时间复杂度+低于O(N)的空间复杂度,对于n=10000确实可接受

热点排行