Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में परफेक्ट नंबर


समस्या विवरण

मान लीजिए हमें जांचना है कि दी गई संख्या परफेक्ट नंबर है या नहीं। एक संख्या को परफेक्ट नंबर कहा जाता है जब वह अपने सभी धनात्मक भाजकों के योग के बराबर होती है, स्वयं को छोड़कर। संख्या n 10^8 की रेंज में होगी।

उदाहरण

यदि इनपुट है: 28, तो आउटपुट होगा True, क्योंकि इसके भाजकों का योग 1 + 2 + 4 + 7 + 14 = 28 होता है।

हल करने का दृष्टिकोण

चूंकि संख्याएं 10^8 की रेंज में हैं, केवल कुछ ही परफेक्ट नंबर होते हैं। यदि दिया गया इनपुट उस सेट में है, तो उत्तर true होगा, अन्यथा false। परफेक्ट नंबर हैं: 6, 28, 496, 8128 और 33550336।

C++ कार्यान्वयन

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

class Solution {
public:
    bool checkPerfectNumber(int num) {
        set<int> perfectNumbers = {6, 28, 496, 8128, 33550336};
        return perfectNumbers.find(num) != perfectNumbers.end();
    }
};

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

इनपुट

28

आउटपुट

1
  1. - C++ में मितव्ययी संख्या (Frugal Number)

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया गया है। हमारा कार्य यह जांचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या (FRUGAL NUMBER) − एक संख्या जिसके अंकों की संख्या उस संख्या के अभाज्य गुणनखंडन में अंकों की संख्या से सख्ती से अधिक है। उदाहरण &

  1. C++ में पेंटाटोप संख्या C++ में पेंटाटोप संख्या

    एक पेंटाटोप संख्या को पास्कल के त्रिभुज में पांचवीं संख्या के रूप में वर्णित किया गया है। अब, चूंकि यह पांचवीं संख्या है, इसका मतलब है कि पास्कल के त्रिभुज में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है जो पास्कल के त्रिभुज की चौथी पंक्ति है। तो, इस

  1. - C++ में एडम नंबर जांचना

    इस खंड में हम देखेंगे कि दी गई संख्या एडम नंबर है या नहीं, इसकी जांच करने वाला प्रोग्राम कैसे लिखें। कोड में जाने से पहले देखते हैं कि एडम नंबर क्या है? एडम नंबर वह संख्या है, मान लीजिए n, यदि n का वर्ग और n के रिवर्स का वर्ग एक-दूसरे के रिवर्स हैं, तो वह संख्या एडम नंबर है। उदाहरण के लिए संख्या 13