C++ 中的完全数
假设我们要判断一个给定的数字是否为完全数。当一个数字等于所有真因数(不包括它本身)的和时,它被称为完全数。数字 n 的范围在 1^8 内。
所以,如果输入是 28,那么输出将为真,因为它的除数之和 - 1 + 2 + 4 + 7 + 14 = 28。
为了解决这个问题,我们将遵循以下步骤 -
由于数字的范围在 10^8 内,因此只有少数几个完全数,如果给定的输入在该集合中,那么答案将为真,否则为假。完全数有:6、28、496、8128 和 33550336。
示例
让我们查看以下实现以增进理解 -
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
bool checkPerfectNumber(int num) {
set<int> set={6,28,496,8128,33550336};
return set.find(num)!=set.end();
}
};
main(){
Solution ob;
cout << (ob.checkPerfectNumber(28));
}输入
28
输出
1
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程语言
C++
C#
MongoDB
MySQL
Javascript
PHP