java练习题之如何求1000以内的完数

小编给大家分享一下java练习题之如何求1000以内的完数,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

测试题目:

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

思路:

  • for循环,给 i 赋值1~1000

  • 找出能整除 i 的数并相加

  • 相加之后的数sum等于 i 的话,就输出 i

实现代码:

package com.thz.hnstc.test01;
/*
* @author NanTang
* */
public class PerfectNumber {
    public static void main(String[] args) {
        for (int i = 1; i < 1000; i++) {
            int sum = 0;
            for (int j = 1; j < i; j++) {
                if(i % j == 0)
                    sum += j;
            }
            if(sum == i)
                System.out.println("完数:"  + i);
        }
    }
}

运行结果:

完数:6
完数:28
完数:496

看完了这篇文章,相信你对java练习题之如何求1000以内的完数有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!