HJ56 完全数计算

题目:

HJ56 完全数计算

题解:

1.求出每个数的所有约数,判断是否为完全数。

2.循环1- ,如果能整除即为约数(约数至少两位,i*i = n,所以i的最大值为)。

java 复制代码
    public int getPerfectNumber(int n) {
        int count = 0;
        for (int i = 1; i <= n; i++) {
            if (isPerfectNumber(i)) {
                count++;
            }
        }

        return count;
    }

    private boolean isPerfectNumber(int n) {
        if (n <= 1) {
            return false;
        }

        int sum = 0;
        for (int i = 1; i <= Math.sqrt(n); i++) {
            if (n % i == 0) {
                sum = sum + i + n/i;
            }
        }

        return sum == 2*n;
    }

时间复杂度:O(N)

相关推荐
Adios79412 小时前
设置交集大小至少为2
数据结构·算法·leetcode
不言鹅喻16 小时前
HarmonyOS ArkTS 实战:实现一个校园考试安排与考场查询应用
华为·harmonyos
humors22116 小时前
新手笔记本/路由/手机安全问题小记
安全·华为·电脑·手机·路由器·笔记本·tplink
FF2501_9402285818 小时前
HarmonyOS开发实战:小分享-App项目架构全景解析
后端·华为·harmonyos·鸿蒙
解局易否结局18 小时前
鸿蒙原生开发实战:Native 图片处理与二维码全链路解析
华为·harmonyos
来一碗刘肉面19 小时前
栈的应用(表达式求值)
数据结构·算法
<小智>20 小时前
鸿蒙多功能工具箱开发实战(十二)-二十四节气与黄历数据展示
ui·华为·harmonyos
2501_9197490321 小时前
华为鸿蒙免费听歌APP+免费铃声APP
华为·harmonyos
爱写代码的森21 小时前
鸿蒙三方库 | harmony-utils之CrashUtil全局异常捕获详解
华为·harmonyos·鸿蒙·huawei
tsqtsqtsq03091 天前
ArkTS 泛型概念详解
华为·harmonyos·鸿蒙系统