当前位置:网站首页>507. 完美数
507. 完美数
2022-08-03 10:22:00 【有时候。】
1. 题目描述
https://leetcode.cn/problems/perfect-number/
对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。
给定一个 整数 n, 如果是完美数,返回 true;否则返回 false。
示例:
输入:num = 28
输出:true
解释:28 = 1 + 2 + 4 + 7 + 14
1, 2, 4, 7, 和 14 是 28 的所有正因子。
2. 解题思路
通过枚举法找到整数n的所有正因子,首先想到从1枚举到n/2,提交后发现超时了,说明枚举的还是太多。因为整数的正因子除了1和自身外都是成对出现,比如28的正因子中有(2,14)和(4,7),加上之前做过类似的使用枚举法来解的题,所以很自然能想到枚举到 n \sqrt n n,只需要找到每对因子中小的一个,相当于找到了一对。
- python3
class Solution:
def checkPerfectNumber(self, num: int) -> bool:
if num == 1:
return False
sum = 1
d = 2
while d * d <= num:
if num % d == 0:
sum += d # 一对正因子中小的那个, 一对因子相同时只加上一个
if d * d < num:
sum += num / d # 一对正因子中大的那个
d += 1
return num == sum
- C++
class Solution {
public:
bool checkPerfectNumber(int num) {
int sum = 1;
int d = 2;
if (num == 1) return false;
while (d * d <= num){
if (num % d == 0){
sum += d;
if (d*d < num) sum += num / d;
}
d += 1;
}
return sum == num;
}
};
边栏推荐
- 2022年起重机械指挥培训试题模拟考试平台操作
- Mysql 主从复制 作用和原理
- OPENCV学习DAY7
- C language two-dimensional array is called with one-dimensional array
- pixel手机升系统
- Go操作Redis数据库
- 进入 SQL Client 创建 table 后,在另外一个节点进入 SQL Client 查询不到
- 在安装GBase 8c数据库的时候,报错显示“Host ips belong to different cluster”。这是为什么呢?有什么解决办法?
- Promise 二:关键问题
- Can't get data for duplicate urls using Scrapy framework, dont_filter=True
猜你喜欢

With strong network, China mobile to calculate excitation surging energy network construction

Leecode-SQL 1484. 按日期分组销售产品

pytorch安装错误

57.【全排列的详细分析】

servlet生命周期详解--【结合源码】

Leecode-SQL 1527. 模糊查询匹配(模糊查询用法)

Ultra-detailed Asp.net uses SSL two-way authentication, one article is enough

Regulation action for one hundred days during the summer, more than 700 traffic safety hidden dangers were thrown out

type="module" you know, but type="importmap" you know

超详细的Asp.net使用SSL双向认证,一篇就够了
随机推荐
免费的mysql数据库管理工具_易语言快速导入MySQL数据库
2022年起重机械指挥培训试题模拟考试平台操作
如何优雅的消除系统重复代码
Mysql OCP 75 questions
Promise 2: Key Questions
mysql 运行的时候 报错
APENFT FOUNDATION官宣2022艺术梦想基金主题征集
js中最简单base64图片流实现自动下载
文旅部:进一步加强旅游景区暑期安全管理工作
因果图法_软件测试因果图怎么画
Mysql 主从复制 作用和原理
后台图库上传功能
成对连接点云分割
This article understands the process from RS485 sensor to IoT gateway to cloud platform
8 月数据库排行榜:Oracle 分数大跌,MySQL 上涨最多
Scapy的介绍(一)「建议收藏」
array of function pointers
select statement in go
SQL试题
Can't get data for duplicate urls using Scrapy framework, dont_filter=True