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

सी ++ में बिटसेट का उपयोग करके किसी संख्या के बाइनरी प्रतिनिधित्व में पिछली शून्य की संख्या की गणना करें


इनपुट के रूप में एक पूर्णांक संख्या दी गई है। लक्ष्य बिटसेट का उपयोग करके संख्या के द्विआधारी प्रतिनिधित्व में अनुगामी शून्यों की संख्या ज्ञात करना है।

एक बिटसेट इसमें बिट्स 0s और 1s को स्टोर करता है। यह बिट्स की एक सरणी है।

उदाहरण के लिए

इनपुट

num = 10

आउटपुट

Count of number of trailing zeros in Binary representation of a number using
Bitset are: 1

स्पष्टीकरण

The number 10 in binary is represented as 1010 so trailing zeroes in it is
1.

इनपुट

num = 64

आउटपुट

Count of number of trailing zeros in Binary representation of a number using Bitset are: 6

स्पष्टीकरण

The number 64 in binary is represented as 10000000 so trailing zeroes in it is 6.

नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -

इस दृष्टिकोण में हम बिटसेट का उपयोग कर रहे हैं। हम बिटसेट को num का उपयोग करके सेट करेंगे। अब लूप के लिए बिटसेट का उपयोग करके ट्रैवर्स करें, जैसे ही पहले 1 का सामना करना पड़ता है, फिर लूप को तोड़ दें अन्यथा अनुगामी शून्य के लिए वृद्धि की गणना करें।

  • इनपुट के रूप में एक पूर्णांक संख्या लें।

  • फ़ंक्शन ट्रेलिंग_ज़ीरो (इंट नंबर) संख्या लेता है और बिटसेट का उपयोग करके किसी संख्या के बाइनरी प्रतिनिधित्व में अनुगामी शून्य की संख्या देता है।

  • प्रारंभिक गणना 0 के रूप में लें।

  • एक बिटसेट गिरफ्तारी करें।

  • इसे num के साथ arr |=num के रूप में सेट करें।

  • i=0 से i<64 तक लूप के लिए उपयोग करते हुए ट्रैवर्स एरर। अगर arr[i] 0 है तो इंक्रीमेंट काउंट और लूप टूट जाता है।

  • लूप के अंत में परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int trailing_zeroes(int num){
   int count = 0;
   bitset<64> arr;
   arr |= num;
   for (int i = 0; i < 64; i++){
      if (arr[i] == 0){
         count++;
      } else {
         break;
      }
   }
   return count;
}
int main(){
   int num = 6;
   cout<<"Count of number of trailing zeros in Binary representation of a number using Bitset are: "<<trailing_zeroes(num);
   return 0;
}

आउटपुट

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

Count of number of trailing zeros in Binary representation of a number using
Bitset are: 1

  1. आधार B में अनुगामी शून्यों की संख्या ज्ञात कीजिए जो N का प्रतिनिधित्व करते हैं! सी ++ का उपयोग करना

    इस लेख में, हम किसी दी गई संख्या N के अनुगामी शून्य को उसके भाज्य के आधार B निरूपण में खोजने की समस्या को समझेंगे। उदाहरण के लिए Input : N = 7 Base = 2 Output : 4 Explanation : fact(7) = 5040 in base10 and 1001110110000 in base16 having 4 trailing zero. Input : N = 11 Base = 5 Output : 2 Explanatio

  1. N के आधार 16 निरूपण में अनुगामी शून्यों की संख्या ज्ञात कीजिए! सी ++ का उपयोग करना

    इस लेख में, हम उदाहरण के लिए इसके भाज्य के आधार 16 निरूपण में दी गई संख्या N के अनुगामी शून्यों को खोजने की समस्या को समझेंगे Input : N = 7 Output : 1 Explanation : fact(7) = 5040 in base10 and 13B0 in base16 having 1 trailing zero. Input : N = 11 Output : 2 Explanation : fact(11) = 39916800 in bas

  1. C++ का उपयोग करके OpenCV में चेहरों की संख्या कैसे गिनें?

    एक छवि में स्थित चेहरों की संख्या गिनना आसान है। पिछले भाग में हमने जो प्रोग्राम लिखा था, उसमें पहले से ही faces.size () में चेहरों की संख्या की जानकारी है। यह कोड-faces.size () एक पूर्णांक मान देता है। उदाहरण के लिए, यदि हम int x =face.size () लिखते हैं, तो x में चेहरों की संख्या होगी। निम्न प्रो