Golang | Leetcode Golang题解之第507题完美数

题目:

题解:

Go 复制代码
func checkPerfectNumber(num int) bool {
    if num == 1 {
        return false
    }

    sum := 1
    for d := 2; d*d <= num; d++ {
        if num%d == 0 {
            sum += d
            if d*d < num {
                sum += num / d
            }
        }
    }
    return sum == num
}
相关推荐
leaves falling13 分钟前
二分查找:迭代与递归实现全解析
数据结构·算法·leetcode
做怪小疯子19 分钟前
Leetcode刷题——深度优先搜索(DFS)
算法·leetcode·深度优先
想吃火锅10052 小时前
【leetcode】105. 从前序与中序遍历序列构造二叉树
算法·leetcode·职场和发展
圣保罗的大教堂2 小时前
leetcode 3567. 子矩阵的最小绝对差 中等
leetcode
老鼠只爱大米3 小时前
LeetCode经典算法面试题 #215:数组中的第K个最大元素(快速选择、堆排序、计数排序等多种实现方案详解)
算法·leetcode·堆排序·快速选择·topk·数组中的第k个最大元素
逆境不可逃3 小时前
LeetCode 热题 100 之 35. 搜索插入位置 74. 搜索二维矩阵 34. 在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·leetcode
_日拱一卒4 小时前
LeetCode:移动零
算法·leetcode·职场和发展
古城小栈4 小时前
Go 底层代码的完整分类
开发语言·后端·golang
耳冉鹅4 小时前
Go无锁共享内存环形缓冲区设计
开发语言·golang
_日拱一卒4 小时前
LeetCode:字母异位词分组
算法·leetcode·职场和发展