网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
解释:28 = 1 + 2 + 4 + 7 + 14
1, 2, 4, 7, 和 14 是 28 的所有正因子。
示例 2:
输入:num = 6
输出:true
示例 3:
输入:num = 496
输出:true
示例 4:
输入:num = 8128
输出:true
示例 5:
输入:num = 2
输出:false
提示:
1 <= num <= 108
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/perfect-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
### 题解
#### 思路
![image-20211231235802367](https://img-blog.csdnimg.cn/img_convert/8913b24491196ddbb4c4f1f54d975df5.png)
**C++**
class Solution {
public:
bool checkPerfectNumber(int num) {
if (num == 1) {
return false;
}
int sum = 1;
for (int d = 2; d \* d <= num; ++d) {
if (num % d == 0) {
sum += d;
if (d \* d < num) {
sum += num / d;
}
}
}
return sum == num;
}
};
**java**
class Solution {
public boolean checkPerfectNumber(int num) {
if (num == 1) {
return false;
}
int sum = 1;
for (int d = 2; d \* d <= num; ++d) {
if (num % d == 0) {
sum += d;
if (d \* d < num) {
sum += num / d;
}
}
}
return sum == num;
}
}
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
9)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!