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)

相关推荐
禾小西5 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?
数据结构·数据库·redis
H.莓飛5 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法
好想像大佬一样能够ak所有6 小时前
Leetcode35.搜索插入位置
数据结构·算法·leetcode
chenbingjie_c7 小时前
C++ STL 适配器:stack & queue,从 vector/list 到 deque 深度解析
数据结构·c++
程序猿追7 小时前
HarmonyOS 6 上做个极简浏览器:Web 组件 + 前进后退 + 加载进度
前端·华为·harmonyos
程序猿追8 小时前
HarmonyOS 6 音视频实战:用 AVPlayer 做一个本地音乐播放器
华为·音视频·harmonyos
张星河zen9 小时前
华为超节点Peerium架构全拆解:Atlas 950、昇腾960、灵衢UnifiedBus
华为·npo·peerium·昇腾960·atlas950·全光互联·灵衢
程序猿追9 小时前
HarmonyOS 6 毛玻璃卡片:背景模糊 + 半透明
华为·harmonyos
CV工程师丁Sir10 小时前
ArkWeb 手记 05|请求拦截:劫持 H5 接口与图片资源
华为·harmonyos
垆边人似月.10 小时前
华为OD算法题:查找众数及中位数
数据结构·算法·leetcode