领扣LintCode算法问题答案-1199. 完美的数
发布日期:2021-06-30 17:10:17 浏览次数:2 分类:技术文章

本文共 831 字,大约阅读时间需要 2 分钟。

领扣LintCode算法问题答案-1199. 完美的数

目录

1199. 完美的数

描述

我们定义完美数是一个正整数,它等于除其自身之外的所有正约数的总和。

现在,给定一个整数n,写一个函数,当它是一个完美的数字时返回true,而当它不是时,返回false。

  • 输入数字n不会超过100,000,000

样例 1:

输入: 28输出: True解释: 28 = 1 + 2 + 4 + 7 + 14

题解

public class Solution {
/** * @param num: an integer * @return: returns true when it is a perfect number and false when it is not */ public boolean checkPerfectNumber(int num) {
// write your code here if (num == 1) {
return false; } int sum = 1; int maxCheckNum = (int) Math.sqrt(num); for (int i = 2; i <= maxCheckNum; i++) {
if (num % i == 0) {
sum += i; sum += num / i; } } return sum == num; }}

鸣谢

非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。

欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。

转载地址:https://le-yi.blog.csdn.net/article/details/108892964 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:领扣LintCode算法问题答案-1200. 相对排名
下一篇:领扣LintCode算法问题答案-1193. 检测大写的正确性

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月05日 13时02分09秒