Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Perfect Number trong C++


Số hoàn hảo (Perfect Number) là số bằng tổng các ước dương của nó (không kể chính nó). Cho số n (1 ≤ n ≤ 10^8), kiểm tra n có phải số hoàn hảo không.

Trong phạm vi 10^8 chỉ có 5 số hoàn hảo: 6, 28, 496, 8128, 33550336.

Ví dụ triển khai C++

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    bool checkPerfectNumber(int num) {
        static const unordered_set<int> perfect = {6, 28, 496, 8128, 33550336};
        return perfect.count(num);
    }
};

int main() {
    Solution ob;
    cout << boolalpha << ob.checkPerfectNumber(28); // true
    return 0;
}

Đầu vào / Đầu ra

Input: 28
Output: true (1)