A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© maxwell247 中级黑马   /  2015-9-21 19:40  /  833 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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

/*
        题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如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+" ");
                        }
                }
        }
}

评分

参与人数 1黑马币 +1 收起 理由
javaeea + 1

查看全部评分

6 个回复

倒序浏览
可以           
回复 使用道具 举报
这道题考点 是 算法和基本语法。
回复 使用道具 举报
很好很好
回复 使用道具 举报
不错,要是稀奇的题都能顺利编写,那举一反三,别的题就不在话下了
回复 使用道具 举报
我的黑马币
回复 使用道具 举报
阿秋 中级黑马 2015-9-27 13:39:41
7#
要特别注意内外循环的各个变量的变化,这题good
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马