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

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

  1. C++ में मितव्ययी संख्या

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

  1. सी++ पेंटाटोप नंबर

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

  1. C++ में एडम नंबर

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