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

C++ में लगभग पूर्ण संख्या

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

इस समस्या में, हम यह जांचने के लिए एक एल्गोरिथम परिभाषित करेंगे कि कोई संख्या लगभग पूर्ण संख्या है या नहीं।

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

Input : 16
Output : yes
Explanation :
Divisors of 16 are 1, 2, 4, 8, 16.
Sum = 1 + 2 + 4 + 8 + 16 = 31
n = 16 ; 2n-1 = 2*16 - 1 = 31

Input : 12
Output : No
Explanation :
Divisors of 12 are 1, 2, 3, 4, 6, 12.
Sum = 1+2+3+4+6+12 = 26
n = 12 ; 2n-1 = 2*12 - 1 = 23

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

एल्गोरिदम

Step 1 : Calculate the sum of all divisors of the number.
Step 2 : Calculate the value of val = 2n-1.
Step 3 : if sum == val -> print “YES”
Step 4 : else print “NO”

उदाहरण

#include <iostream>
using namespace std;
void almostPerfectNumber(int n) ;
int main(){
   int n = 16;
   cout<<"Is "<<n<<" an almost perfect number ?\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<<"YES";
   else
   cout<<"NO";
}

आउटपुट

Is 16 an almost perfect number ?
YES

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

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

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

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

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

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