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

सी ++ में न्यूनतम संभावित छद्म-बाइनरी संख्याओं के योग के रूप में एक संख्या का प्रतिनिधित्व करें

यह ट्यूटोरियल न्यूनतम छद्म-बाइनरी संख्याओं के योग के रूप में एक संख्या के प्रतिनिधित्व पर चर्चा करेगा। छद्म-द्विआधारी संख्याएँ वे संख्याएँ होती हैं जिनमें केवल द्विआधारी अंक होते हैं, अर्थात, 0 और 1. छद्म-द्विआधारी संख्याओं के उदाहरण हैं 00, 11, 10, 100, 111, 1011, आदि।

नीचे संख्याओं के कुछ उदाहरण दिए गए हैं जिन्हें छद्म बाइनरी संख्याओं के योग के रूप में दर्शाया गया है।

Input : 23
Output : 11 + 11 + 1
Explanation : 23 = 11 + 11 + 1, sum of pseudo-binary numbers(11, 11, 1) is 23.

Input : 50
Output : 10 + 10 + 10 + 10 + 10

समाधान खोजने के लिए दृष्टिकोण

एन का प्रतिनिधित्व करने के लिए न्यूनतम छद्म-बाइनरी संख्या खोजने के सर्वोत्तम तरीकों में से एक नीचे है।

  • एक संख्या X लें और संख्या N के अंकों के अनुसार उसके अंकों को 1 या 0 में अपडेट करें।

  • N के प्रत्येक स्थान पर अंकों की जाँच करें,

    • अगर यह 0 है, तो X के उस स्थान को 0 पर अपडेट करें।

    • अगर यह शून्य नहीं है, तो X के उस स्थान को 1 में अपडेट करें।

    • मान लीजिए N =32, तो X 11 होगा

  • तब X एक छद्म-द्विआधारी संख्या होगी।

  • अब N को X से घटाएं और चरण 1 को तब तक दोहराएं जब तक कि N शून्य न हो जाए।

उदाहरण

उपरोक्त दृष्टिकोण के लिए C++ कोड

#include<iostream>
using namespace std;
int main(){
   int N = 51;
   // find a pseudo-binary number until N becomes 0.
   cout << "pseudo-binary representation of " << N << " is: ";
   while (N > 0){                
      // finding X which contains 0's and 1's according to N.
      int temp = N;
      int X = 0, bit = 1;
      // checking each place of N for zero or non-zero.
      while (temp!=0){
      int last_dig = temp % 10;
      temp = temp / 10;
      if (last_dig != 0)
         X += bit;
         bit *= 10;
      }
      // printing one pseudo-binary number.
      cout << X << " ";
      // Updating N by subtracting with X.
      N = N - X;
       
   }
   return 0;
}

आउटपुट

pseudo-binary representation of 51 is: 11 10 10 10 10

संहिता को समझना

  • एक्स को खोजने के लिए एन लेने और प्रत्येक स्थान पर अंक चुनने के लिए एक बाहरी समय लूप।

  • हम अस्थायी चर के प्रत्येक स्थान की जाँच करने और चर X के उस स्थान को अद्यतन करने के लिए N और आंतरिक लूप के साथ अस्थायी चर के मान को अद्यतन कर रहे हैं।

  • X का मुद्रण मान क्योंकि वह एक छद्म-द्विआधारी संख्या है।

  • हम X के साथ घटाकर N को अपडेट करते हैं और फिर से बाहरी लूप में जाते हैं जब तक कि N 0 नहीं हो जाता।

निष्कर्ष

इस ट्यूटोरियल में, हमने चर्चा की है कि हम किसी संख्या को न्यूनतम संभव छद्म-द्विआधारी संख्याओं के योग के रूप में कैसे निरूपित कर सकते हैं। हमने सभी छद्म-बाइनरी संख्याओं को खोजने के दृष्टिकोण पर चर्चा की। हमने उसी के लिए C++ कोड पर भी चर्चा की, जिसे हम किसी अन्य प्रोग्रामिंग भाषा जैसे C, Java, Python, आदि में लिख सकते हैं। हमें उम्मीद है कि आपको यह ट्यूटोरियल मददगार लगेगा।


  1. सी++ में डुडेनी नंबर्स

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या (विकिपीडिया)। नंबर हेनरी डुडेनी . द्वारा खोजा गया था . इसका गणितीय सूत्र है - यहाँ, हमें एक पूर्णांक n दिया गया है। हमारा काम जांच करना है कि दिया गया नंबर n एक डुडनी नंबर है या नहीं। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: एन =17592 आ

  1. जांचें कि क्या किसी संख्या को C++ में 2 त्रिकोणीय संख्याओं के योग के रूप में दर्शाया जा सकता है

    इस भाग में हम देखेंगे कि क्या हम एक संख्या को दो त्रिभुजाकार संख्याओं के योग के रूप में व्यक्त कर सकते हैं या नहीं। त्रिकोणीय संख्याएं नीचे की तरह हैं - उदाहरण से हम देख सकते हैं कि 1, 3, 6, 10 कुछ त्रिभुजाकार संख्याएँ हैं। हमें एक संख्या N (मान लीजिए 16) को दो त्रिभुजाकार संख्याओं (6, 10) के योग

  1. जांचें कि क्या किसी संख्या को सी ++ में लगातार संख्याओं के योग के रूप में व्यक्त किया जा सकता है

    यहां हम देखेंगे कि क्या एक संख्या को दो या अधिक क्रमागत संख्याओं के योग के रूप में दर्शाया जा सकता है या नहीं। मान लीजिए एक संख्या 12 है। इसे 3+4+5 के रूप में दर्शाया जा सकता है। इस समस्या को हल करने का एक सीधा और आसान तरीका है। यदि कोई संख्या 2 की घात है, तो उसे कुछ क्रमागत संख्याओं के योग के रूप