leetcode507. 完美数
- 题目描述
- 解题思路
- 执行结果
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
计算所有因数之和\
从2到i(i*i<=num)的所有能整除的数字相加
因数的另一半num/i相加
当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. 完美数相关推荐
- LeetCode Algorithm 507. 完美数
507. 完美数 Ideas 把所有的约数全都加起来就行了,也没啥. Code Python class Solution:def checkPerfectNumber(self, num: int) ...
- java求完数(完全数 完美数)
package com.face;public class SumNum {public static void main(String[] args) {System.out.println(&qu ...
- c语言编程 完美数,用完美数的数字之美激发学生学习C语言编程的兴趣
崔孝凤 摘要:对于c语言的初学者来说,激发出学习c语言的兴趣至关重要,该文通过探讨完美数的多种实现方法的案例教学,同时列举完美数特有性质,激发学生的学习兴趣,提高教学质量. 关键词:c语言;完美数;案 ...
- LeetCode 507. 完美数
1. 题目 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为"完美数". 给定一个 整数 n, 如果他是完美数,返回 True,否则返回 False 示例: ...
- 完美数:数学宝库中的一颗璀璨明珠
无论在外在的物质世界里,还是在内在的精神世界里,都不能没有数学.最早悟出万物背后都有数的法则在起作用的,是生活在公元前6世纪的古希腊数学家和哲学家毕达哥拉斯:而他及其学派无论在代数上还是几何上都有很多 ...
- python判断是否为完全数_Python识别完美数
完美数 完美数(perfect number,又称完全数)指,它所有的真因子(即除了自身以外的因子)和,恰好等于它自身. 第一个完美数:6, 第二个完美数:28, 第三个完美数:496, 第四个完美数 ...
- python实现找出1000以内的所有完美数
目录 1.题目描述 2.代码实现 3.运行结果 1.题目描述 完美数是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身.第一个完美数是6. 输入:(无) 输出: [6, 2 ...
- I00035 完美数(Perfect number)
笛卡尔说:"能找出的完美数是不会多的,好比人类一样,要找一个完美人亦非易事." 数论中,若一个正整数除了本身之外所有因子之和正好等于此数自身,则称此数为完美数.完美数(Perfec ...
- 507. 完美数-c语言
507. 完美数 对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」. 给定一个 整数 n, 如果是完美数,返回 true:否则返回 false. 示例 1: 输 ...
最新文章
- iframe怎么用_怎么样减少无效URL的爬行和索引
- 解决JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer问题
- vue配置二级目录vue-axios跨域办法谷歌浏览器设置跨域
- 一个sql引起的服务器性能下降
- 希望PAT耗子尾汁:1014 福尔摩斯的约会 (20分)——22行代码AC
- 电脑开机后,就会自动运行chkdsk,我想取消chkdsk,怎么取消
- 实体类中存在List集合,怎么在xml文件中,对应
- apache开源项目_众筹开源笔记本电脑,新的Apache项目等
- aws lam nodejs mysql_NodeJs IF Statement in AWS Lambda using MySQL database
- “Java引领技术人生”巡讲活动圆满结束
- python_业余学习_分词工具jieba 正则表达式清洗微博文本特殊符号 最大匹配算法
- 多频子量子计算机,量子计算机研究:纠错和容错计算
- 动手智能小车记(5)-坦克底盘硬件模块大杂烩
- 【Python百日进阶-Web开发-Feffery】Day315 - fac导航4:AntdDropdown下拉菜单
- 联想小新15用什么C语言程序,长处更长 优点更优 联想小新Air 15 2019首测
- android逆向知乎,Android逆向之路---为什么从后台切换回app又显示广告了
- 如何用scanf语句为字符指针数组赋值
- tracking里面的性能图怎么画,类似ocean论文中的
- C语言数据类型转换(自动类型转换+强制类型转换)
- 计算机团体及知名科学家,2019年度ACM杰出科学家!拿下华人数学领域最高荣誉的上财陆品燕教授,又拿奖啦!...