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)

相关推荐
Desirediscipline22 分钟前
#define _CRT_SECURE_NO_WARNINGS 1
开发语言·数据结构·c++·算法·c#·github·visual studio
前端不太难1 小时前
从零写一个完整的原生鸿蒙 App
华为·状态模式·harmonyos
程序员酥皮蛋2 小时前
hot 100 第三十三 33.排序链表
数据结构·算法·链表
重生之后端学习2 小时前
207. 课程表
java·数据结构·算法·职场和发展·深度优先
果粒蹬i2 小时前
【HarmonyOS】RN_of_HarmonyOS实战项目_数字键盘输入
华为·harmonyos
野犬寒鸦3 小时前
ArrayList扩容机制深度解析(附时序图详细讲解)
java·服务器·数据结构·数据库·windows·后端
果粒蹬i3 小时前
【HarmonyOS】RN_of_HarmonyOS实战项目_输入验证提示
华为·harmonyos
_waylau3 小时前
鸿蒙架构师修炼之道-架构师设计思维特点
华为·架构·架构师·harmonyos·鸿蒙·鸿蒙系统
元亓亓亓5 小时前
LeetCode热题100--41. 缺失的第一个正数--困难
数据结构·算法·leetcode
fu的博客5 小时前
【数据结构7】链式栈实现
数据结构·算法