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

C++ में ऑलमोस्ट परफेक्ट नंबर


ऑलमोस्ट परफेक्ट नंबर को कम से कम कमी वाली संख्या या थोड़ी दोषपूर्ण संख्या के रूप में भी जाना जाता है, यह एक संख्या है जिसमें सभी भाजकों का योग (1 और संख्या को स्वयं जोड़कर) 2n-1 के बराबर होना चाहिए।

इस समस्या में, हम एक एल्गोरिदम परिभाषित करेंगे कि क्या कोई संख्या ऑलमोस्ट परफेक्ट नंबर है या नहीं।

आइए एक उदाहरण लेते हैं अवधारणा को बेहतर ढंग से समझने के लिए,

इनपुट: 16 आउटपुट: हां व्याख्या: 16 के भाजक 1, 2, 4, 8, 16 हैं। योग = 1 + 2 + 4 + 8 + 16 = 31 n = 16; 2n-1 = 2*16 - 1 = 31 इनपुट: 12 आउटपुट: नहीं व्याख्या: 12 के भाजक 1, 2, 3, 4, 6, 12 हैं। योग = 1+2+3+4+6+12 = 26 n = 12; 2n-1 = 2*12 - 1 = 23

अब, दी गई संख्या के ऑलमोस्ट परफेक्ट नंबर होने या न होने की जांच करने की समस्या को ऑलमोस्ट परफेक्ट नंबर के तर्क का उपयोग करके हल किया जाता है यानी यदि संख्या के सभी भाजकों का योग 2n -1 के बराबर है।

एल्गोरिदम

चरण 1: संख्या के सभी भाजकों का योग गणना करें। चरण 2: val = 2n-1 का मान गणना करें। चरण 3: यदि sum == val -> "हां" प्रिंट करें चरण 4: अन्यथा "नहीं" प्रिंट करें

उदाहरण

#include <iostream> using namespace std; void almostPerfectNumber(int n) ; int main(){    int n = 16;    cout<<"क्या "<<n<<" एक ऑलमोस्ट परफेक्ट नंबर है?\n";    almostPerfectNumber(n) ; } void almostPerfectNumber(int n){    int divisors = 0;    for (int i = 1; i <= n; i++) {       if (n % i == 0)          divisors += i;    }    if (divisors == 2 * n - 1)       cout<<"हां";    else    cout<<"नहीं"; }

आउटपुट

क्या 16 एक ऑलमोस्ट परफेक्ट नंबर है? हां

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

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

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

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

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

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