কম্পিউটার

C++ এ বিটসেট ব্যবহার করে একটি সংখ্যার বাইনারি উপস্থাপনায় অনুগামী শূন্যের সংখ্যা গণনা করুন


ইনপুট হিসাবে একটি পূর্ণসংখ্যা দেওয়া হয়েছে৷ লক্ষ্য হল বিটসেট ব্যবহার করে সংখ্যার বাইনারি উপস্থাপনায় অনুগামী শূন্যের সংখ্যা খুঁজে বের করা।

একটি বিটসেট এতে 0 এবং 1 বিট সংরক্ষণ করে। এটি বিটগুলির একটি অ্যারে৷

উদাহরণস্বরূপ

ইনপুট

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 এর সম্মুখীন হওয়ার সাথে সাথে লুপটি ভেঙ্গে দিন অন্যথায় শূন্যের পিছনের সংখ্যা বৃদ্ধি করুন।

  • ইনপুট হিসাবে একটি পূর্ণসংখ্যা নিন।

  • ফাংশন trailing_zeroes(int num) num নেয় এবং বিটসেট ব্যবহার করে একটি সংখ্যার বাইনারি প্রতিনিধিত্বে ট্রেলিং শূন্যের সংখ্যার সংখ্যা ফেরত দেয়।

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • একটু বিটসেট আরার নিন।

  • এটিকে arr |=num হিসাবে num দিয়ে সেট করুন।

  • i=0 থেকে i<64 পর্যন্ত লুপ ব্যবহার করে ট্রাভার্স arr। যদি 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. N-এর ভিত্তি B প্রতিনিধিত্বে অনুগামী শূন্যের সংখ্যা খুঁজুন! C++ ব্যবহার করে

  2. বেস 16 N এর প্রতিনিধিত্বে অনুগামী শূন্যের সংখ্যা খুঁজুন! C++ ব্যবহার করে

  3. C++ এ প্রদত্ত সংখ্যার বাইনারি উপস্থাপনায় অগ্রণী শূন্যের সংখ্যা

  4. কিভাবে C++ ব্যবহার করে OpenCV-তে মুখের সংখ্যা গণনা করবেন?