java练习6. 求完数

题目: 请编程求出1000 以内的所有完数。

完数:一个数如果恰好等于它的所有真因子(即除了自身外的所有因数)之和,这个数就称为"完数"。

java 复制代码
public static void main(String[] args) {
        for (int i = 2; i < 1000; i++) {
            int sum=0;
            for (int j = 1; j <=i/2; j++) {
                if(i%j==0){
                    sum+=j;
                }
            }
            if (sum==i){
                System.out.println(i);
            }

        }
    }

利用双层循环,外层循环作为控制1000以内,内层循环用于控制因子,因为一个数不可能被大于自身一半的数整除,所以条件为 j<=i/

注意: 在第一层循环内要加一个 sum=0 ,每次都要重新求和

相关推荐
橘猫云计算机设计3 分钟前
基于SSM的《计算机网络》题库管理系统(源码+lw+部署文档+讲解),源码可白嫖!
java·数据库·spring boot·后端·python·计算机网络·毕设
m0_7482453417 分钟前
python——Django 框架
开发语言·python·django
曼巴UE522 分钟前
UE5.3 C++ TArray系列(一)
开发语言·c++·ue5
熬夜苦读学习33 分钟前
Linux文件系统
linux·运维·服务器·开发语言·后端
菜鸟一枚在这41 分钟前
深度解析建造者模式:复杂对象构建的优雅之道
java·开发语言·算法
gyeolhada1 小时前
2025蓝桥杯JAVA编程题练习Day5
java·数据结构·算法·蓝桥杯
阿巴~阿巴~1 小时前
多源 BFS 算法详解:从原理到实现,高效解决多源最短路问题
开发语言·数据结构·c++·算法·宽度优先
菜鸟一枚在这1 小时前
深入理解设计模式之代理模式
java·设计模式·代理模式
小天努力学java2 小时前
【面试系列】Java开发--AI常见面试题
java·人工智能·面试
river662 小时前
java开发——为什么要使用动态代理?
java