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
}
相关推荐
岁忧1 小时前
(nice!!!)(LeetCode 面试经典 150 题 ) 30. 串联所有单词的子串 (哈希表+字符串+滑动窗口)
java·c++·leetcode·面试·go·散列表
come112343 小时前
Go 包管理工具详解:安装与使用指南
开发语言·后端·golang
墨染点香6 小时前
LeetCode Hot100 【1.两数之和、2.两数相加、3.无重复字符的最长子串】
算法·leetcode·职场和发展
千楼8 小时前
LeetCode 1888. 使二进制字符串字符交替的最少反转次数
算法·leetcode·职场和发展
科大饭桶10 小时前
数据结构自学Day7-- 二叉树
数据结构·算法·leetcode·链表·c
快去睡觉~10 小时前
力扣73:矩阵置零
算法·leetcode·矩阵
Once_day16 小时前
代码训练LeetCode(46)旋转图像
算法·leetcode·职场和发展
西京刀客16 小时前
构建 Go 可执行文件镜像 | 探索轻量级 Docker 基础镜像(我应该选择哪个 Docker 镜像?)
开发语言·docker·golang
007php00719 小时前
服务器上PHP环境安装与更新版本和扩展(安装PHP、Nginx、Redis、Swoole和OPcache)
运维·服务器·后端·nginx·golang·测试用例·php
艾莉丝努力练剑21 小时前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表