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