黑马程序员技术交流社区

标题: 练习六:完数问题 [打印本页]

作者: maxwell247    时间: 2015-9-21 19:40
标题: 练习六:完数问题

从网上找到一份编程练习题,我决定将里面的题目全都做一遍。

/*
        题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 ? 找出1000以内的所有完数。
*/


class  WanShuDemo{

        public static void main(String[] args) {
                wanShu();
        }
        /**
                打印1~1000之间的完数
        */
        public static void wanShu(){
                int sum; //将sum定义在循环外,可以减少内存的分配
                for (int i=1;i<=1000;i++ ){
                        sum=0;
                        for (int j=1;j<i;j++){
                                if (i%j==0){ //求i的所有因子
                                        sum+=j;
                                }
                        }
                        if (i==sum){
                                System.out.print(i+" ");
                        }
                }
        }
}


作者: charryxiaocai    时间: 2015-9-22 01:04
可以           
作者: 冰霜之卅    时间: 2015-9-22 16:37
这道题考点 是 算法和基本语法。
作者: javaeea    时间: 2015-9-25 08:58
很好很好
作者: 舞动炫龙    时间: 2015-9-25 10:09
不错,要是稀奇的题都能顺利编写,那举一反三,别的题就不在话下了
作者: javaeea    时间: 2015-9-25 17:36
我的黑马币
作者: 阿秋    时间: 2015-9-27 13:39
要特别注意内外循环的各个变量的变化,这题good




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2