• 题目描述
  • 解题思路
  • 执行结果

leetcode .

题目描述

对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。

给定一个 整数 n, 如果是完美数,返回 true;否则返回 false。

示例 1:

输入:num = 28 输出:true 解释:28 = 1 + 2 + 4 + 7 + 14 1, 2, 4, 7, 和 14 是 28 的所有正因子。 示例 2:

输入:num = 7 输出:false

提示:

1 <= num <= 108

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/perfect-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

法1

计算所有因数之和\

  1. 从2到i(i*i<=num)的所有能整除的数字相加
  2. 因数的另一半num/i相加
  3. 当i*i==num时只加一次,最后对比和与num是否相同
  • 时间复杂度(O(n))
  • 空间复杂度(O(1))

法2

数学
在0-10^8中只有6,28,496,8128,33550336为完全数

  • 时间复杂度(O(1))
  • 空间复杂度(O(1))

执行结果

法1

func checkPerfectNumber(num int) bool {    if num==1{return false} t, i := 1, 2 for ; i*i < num; i++ {//计算i*i<num的所有因数之和  if num%i == 0 {   t += i + num/i  } } if i*i == num {//特殊情况  t += i } return t == num}

执行结果: 通过 显示详情 查看示例代码 添加备注

执行用时: 0 ms , 在所有 Go 提交中击败了 100.00% 的用户 内存消耗: 1.8 MB , 在所有 Go 提交中击败了 93.85% 的用户 通过测试用例: 98 / 98

法2

func checkPerfectNumber(num int) bool {    return num == 6 || num == 28 || num == 496 || num == 8128 || num == 33550336}

本文由 mdnice 多平台发布

leetcode507. 完美数相关推荐

  1. LeetCode Algorithm 507. 完美数

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

  2. java求完数(完全数 完美数)

    package com.face;public class SumNum {public static void main(String[] args) {System.out.println(&qu ...

  3. c语言编程 完美数,用完美数的数字之美激发学生学习C语言编程的兴趣

    崔孝凤 摘要:对于c语言的初学者来说,激发出学习c语言的兴趣至关重要,该文通过探讨完美数的多种实现方法的案例教学,同时列举完美数特有性质,激发学生的学习兴趣,提高教学质量. 关键词:c语言;完美数;案 ...

  4. LeetCode 507. 完美数

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

  5. 完美数:数学宝库中的一颗璀璨明珠

    无论在外在的物质世界里,还是在内在的精神世界里,都不能没有数学.最早悟出万物背后都有数的法则在起作用的,是生活在公元前6世纪的古希腊数学家和哲学家毕达哥拉斯:而他及其学派无论在代数上还是几何上都有很多 ...

  6. python判断是否为完全数_Python识别完美数

    完美数 完美数(perfect number,又称完全数)指,它所有的真因子(即除了自身以外的因子)和,恰好等于它自身. 第一个完美数:6, 第二个完美数:28, 第三个完美数:496, 第四个完美数 ...

  7. python实现找出1000以内的所有完美数

    目录 1.题目描述 2.代码实现 3.运行结果 1.题目描述 完美数是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身.第一个完美数是6. 输入:(无) 输出: [6, 2 ...

  8. I00035 完美数(Perfect number)

    笛卡尔说:"能找出的完美数是不会多的,好比人类一样,要找一个完美人亦非易事." 数论中,若一个正整数除了本身之外所有因子之和正好等于此数自身,则称此数为完美数.完美数(Perfec ...

  9. 507. 完美数-c语言

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

最新文章

  1. iframe怎么用_怎么样减少无效URL的爬行和索引
  2. 解决JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer问题
  3. vue配置二级目录vue-axios跨域办法谷歌浏览器设置跨域
  4. 一个sql引起的服务器性能下降
  5. 希望PAT耗子尾汁:1014 福尔摩斯的约会 (20分)——22行代码AC
  6. 电脑开机后,就会自动运行chkdsk,我想取消chkdsk,怎么取消
  7. 实体类中存在List集合,怎么在xml文件中,对应
  8. apache开源项目_众筹开源笔记本电脑,新的Apache项目等
  9. aws lam nodejs mysql_NodeJs IF Statement in AWS Lambda using MySQL database
  10. “Java引领技术人生”巡讲活动圆满结束
  11. python_业余学习_分词工具jieba 正则表达式清洗微博文本特殊符号 最大匹配算法
  12. 多频子量子计算机,量子计算机研究:纠错和容错计算
  13. 动手智能小车记(5)-坦克底盘硬件模块大杂烩
  14. 【Python百日进阶-Web开发-Feffery】Day315 - fac导航4:AntdDropdown下拉菜单
  15. 联想小新15用什么C语言程序,长处更长 优点更优 联想小新Air 15 2019首测
  16. android逆向知乎,Android逆向之路---为什么从后台切换回app又显示广告了
  17. 如何用scanf语句为字符指针数组赋值
  18. tracking里面的性能图怎么画,类似ocean论文中的
  19. C语言数据类型转换(自动类型转换+强制类型转换)
  20. 计算机团体及知名科学家,2019年度ACM杰出科学家!拿下华人数学领域最高荣誉的上财陆品燕教授,又拿奖啦!...

热门文章

  1. 处理 __iob_func 无法链接的问题
  2. 刷题day_12:快乐数
  3. 手把手教你5G时代Webview的正确使用姿势,小白也能看明白
  4. 如何在网页中嵌入网易云音乐
  5. RF自动化测试框架(一)
  6. EduSoho开源网校系统源码(附安装教程、下载安装包),支持开源免费下载
  7. 瓷片电容、钽电容、电解电容区别---电源设计中的去耦电容应用实例
  8. 产品破局思考:一个思维,一种策略
  9. 行业首选|墨菲安全实力入选《开发安全产品及服务购买决策参考》
  10. ppt转换成pdf免费软件