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

सी ++ में बाइनरी प्रतिनिधित्व में गणना संख्याओं में सभी 1s एक साथ हैं

हमें एक धनात्मक पूर्णांक N दिया गया है। लक्ष्य N से कम या उसके बराबर संख्याओं को गिनना है जिनके द्विआधारी प्रतिनिधित्व में सभी 1 हैं। उदाहरण के लिए 1, 1, 3, 11, 7, 111, 15, 1111... इत्यादि।

यदि हम संख्याएँ देखें तो वे सभी 2i-1 हैं। जहां से मैं 1 से शुरू करता हूं। n से कम ऐसे नंबरों की जांच करने के लिए। हम तुलना करेंगे यदि 2i-1<=n. फिर इंक्रीमेंट काउंट।

आइए उदाहरणों से समझते हैं।

इनपुट -एन=15

आउटपुट − वह संख्या जिसमें सभी 1 बाइनरी में हों :4

स्पष्टीकरण − समान अभाज्य संख्याओं के योग के रूप में संख्याएं − संख्याएं 1 3 7 15

. होंगी

इनपुट -एन=50

आउटपुट − वह संख्या जिसमें सभी 1 बाइनरी में हों :5

स्पष्टीकरण - समान अभाज्य संख्याओं के योग के रूप में संख्याएँ -

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम एक धनात्मक पूर्णांक N लेते हैं..

  • फंक्शन allOnes(int n) इनपुट के रूप में n लेता है और उन नंबरों को लौटाता है जिनमें सभी 1 बाइनरी प्रतिनिधित्व में हैं।

  • ऐसी संख्याओं के लिए प्रारंभिक चर गणना को 0 के रूप में लें..

  • लूप के लिए i=1 से i<=n तक ट्रैवर्स करें।

  • प्रत्येक i के लिए, यदि pow(2,i)-1, n से कम या उसके बराबर है। वेतन वृद्धि की संख्या।

  • परिणाम के रूप में लूप के अंत में गिनती लौटाएं।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int allOnes(int n){
   int count = 0;
   for(int i=1;i<=n;i++){
      if(n>=pow(2,i)-1){
         count++;
         //cout<<" "<<pow(2,i)-1;
      }
   }
   return count;
}
int main(){
   int N=23;
   cout <<endl<< "Number having all 1's in binary : "<<allOnes(N);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Number having all 1's in binary : 4

  1. C++ में ऊंचाई h के संतुलित बाइनरी ट्री की गणना करें

    हमें एक बाइनरी ट्री की ऊंचाई H के साथ दिया गया है। लक्ष्य दी गई ऊंचाई के संतुलित बाइनरी ट्री की संख्या/गिनती ज्ञात करना है। एक बाइनरी ट्री - एक ट्री डेटा संरचना है जिसमें प्रत्येक नोड में अधिकतम दो बच्चे होते हैं, जो कि बायां बच्चा और दायां बच्चा होता है। ऊंचाई-संतुलित बाइनरी ट्री - को एक बाइनरी ट

  1. सी++ में अगले नंबर का बाइनरी प्रतिनिधित्व

    इस समस्या में, हमें एक संख्या का द्विआधारी प्रतिनिधित्व दिया जाता है और हमें अगली संख्या का द्विआधारी प्रतिनिधित्व यानी वह संख्या ढूंढनी होती है जो दी गई संख्या में एक जोड़ने के बाद प्राप्त होती है। द्विआधारी प्रतिनिधित्व संख्या का आधार संख्या के आधार को आधार 2 में बदल रहा है और केवल 0 या 1 का उपयो

  1. C++ में दी गई संख्या का बाइनरी प्रतिनिधित्व

    एक बाइनरी नंबर एक संख्या है जिसमें केवल दो अंक 0 और 1 होते हैं। उदाहरण के लिए, 01010111। किसी दिए गए नंबर को बाइनरी रूप में दर्शाने के कई तरीके हैं। पुनरावर्ती विधि इस विधि का उपयोग किसी संख्या को उसके द्विआधारी रूप में प्रत्यावर्तन का उपयोग करके दर्शाने के लिए किया जाता है। एल्गोरिदम Step 1 : if