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
廣告