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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 终极黑马 中级黑马   /  2015-7-14 21:59  /  408 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
* 需求:题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
*     例如6=1+2+3.编程找出10000以内的所有完数。
*
* 思路:循环查找i内能被整除的数,循环次数i / 2 + 1,把这些能整除的数加起来,如果==i就打印i。
* */
public class Test1 {
        public static void main(String[] args) {
                int n = 10000;
                System.out.print(n + "以内的完数:");
                for (int i = 1; i < n + 1; i++) {
                        int sum = 0;
                        for (int j = 1; j < i / 2 + 1; j++) {
                                if ((i % j) == 0) {
                                        sum += j;
                                }
                        }
                        if (sum == i)
                                System.out.print(i + " ");

                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马