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 ,每次都要重新求和

相关推荐
亓才孓几秒前
[Maven]Maven基础
java·maven
凉辰3 分钟前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
hello 早上好4 分钟前
05_Java 类加载过程
java·开发语言
PPPPPaPeR.16 分钟前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
echoVic18 分钟前
多模型支持的架构设计:如何集成 10+ AI 模型
java·javascript
橙露19 分钟前
Java并发编程进阶:线程池原理、参数配置与死锁避免实战
java·开发语言
froginwe1119 分钟前
C 标准库 - `<float.h>`
开发语言
echoVic21 分钟前
AI Agent 安全权限设计:blade-code 的 5 种权限模式与三级控制
java·javascript
PPPPickup23 分钟前
easymall---图片上传以及图片展示
java
历程里程碑26 分钟前
Linux 库
java·linux·运维·服务器·数据结构·c++·算法