题目

https://leetcode-cn.com/problems/perfect-number/

题解

枚举 n 的所有因数,并计算它们的和。(或者逆向思路:枚举 n 的所有因数,用 n 分别减去这些因数,看最终是否为 0)

在枚举时,我们只需要从 1 到 sqrt(n) 进行枚举即可。这是因为如果 n 有一个大于 sqrt(n) 的因数 x,那么它一定有一个小于 sqrt(n) 的因数 n/x

注:如果遍历从 1 到 n,或者遍历 n/2 的话,都会超时。所以必须从 1 到 sqrt(n)。

public class Solution {public boolean checkPerfectNumber(int num) {int sum = num;for (int i = 1; i < Math.sqrt(num); i++) {if (num % i == 0) {sum -= i;if (i != 1) sum -= (num / i);}if (sum < 0) return false;}return sum == 0;}
}

leetcode 507. 完美数(Java版)相关推荐

  1. Python Leetcode(507.完美数)

    Python Leetcode(507.完美数) 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为"完美数". 给定一个 正整数 n, 如果他是完美数,返回 ...

  2. Java实现 LeetCode 507 完美数

    507. 完美数 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为"完美数". 给定一个 整数 n, 如果他是完美数,返回 True,否则返回 False ...

  3. LeetCode 507. 完美数

    1. 题目 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为"完美数". 给定一个 整数 n, 如果他是完美数,返回 True,否则返回 False 示例: ...

  4. Leetcode 507: 完美数

    题目描述: 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为"完美数". 给定一个 整数 n, 如果他是完美数,返回 True,否则返回 False 示例: ...

  5. leetcode 507 完美数

    题目: We define the Perfect Number is a positive integer that is equal to the sum of all its positive ...

  6. Java 第 06 课 507. 完美数 1437. 是否所有 1 都至少相隔 k 个元素

    第六课 [2540. 最小公共值](https://leetcode.cn/problems/minimum-common-value/) 507. 完美数 728. 自除数 1437. 是否所有 1 ...

  7. LeetCode Algorithm 507. 完美数

    507. 完美数 Ideas 把所有的约数全都加起来就行了,也没啥. Code Python class Solution:def checkPerfectNumber(self, num: int) ...

  8. 507. 完美数-c语言

    507. 完美数 对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」. 给定一个 整数 n, 如果是完美数,返回 true:否则返回 false. 示例 1: 输 ...

  9. leetcode -43 -字符串相乘 -java版

    文章目录 题目 代码 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = &quo ...

最新文章

  1. struts2 中文乱码问题
  2. Linux之设置http代理
  3. 词频统计 求最大k个数
  4. ALS爱立思简明教程
  5. 一块小饼干(Cookie)的故事-下篇
  6. response.setHeader各种用法 .
  7. 威胁快报|新兴挖矿团伙借助shodan作恶,非web应用安全再鸣警钟
  8. Format Currency Sample
  9. 使用 Packer、Ansible 和 Terraform 构建不可变的基础设施
  10. python-元组,列表,字典常用方法
  11. ubuntu文件右下角有锁的图标
  12. 中国省份-市级城市数组
  13. Java中获取时间戳
  14. 项目管理project模板_项目管理常用的10张图表推荐
  15. 数据结构与算法-进阶(十二)最短路径Dijkstra 算法
  16. 珠宝类主播带货:为什么大家现在都选择去做直播基地?
  17. 常用工具:IDEA、vs code、Navicat、Postman、HBuilderX、微信开发者工具
  18. [HPM] Error occurred while trying to proxy request /login/account from localhost:8000 to localhost:8
  19. Girth of graph
  20. 凝思磐石linux系统怎么切双屏_linux (ubuntu) 下双屏显示解决?

热门文章

  1. CodeForces - 1293C NEKO's Maze Game(思维,水题)
  2. java io字符输出流_JAVA IO 字符输入流与输出流总结说明
  3. 语言for循环联程_Lua循环
  4. 图文解释Glados自动签到免费获取天数(github action版)
  5. Codeforces Beta Round #2--B题 (DP)
  6. 练习7-11 字符串逆序 (15分)
  7. IDT系列:(二)中断处理过程,使用bochs调试IDT中的中断服务程序
  8. TCP的三次握手建立连接和四次握手释放连接
  9. 高级数据结构与算法 | 跳跃表(Skip List)
  10. 一文了解Linux 网络 I/O 模型