কম্পিউটার টিউটোরিয়াল

C++-এ একটি সংখ্যার বাইনারিতে অল্টারনেট প্যাটার্ন আছে কিনা তা যাচাই করা (সেট ১)


ধরুন আমাদের একটি ইন্টিজার n আছে। সমস্যাটি হলো চেক করা: এই ইন্টিজারের বাইনারি রিপ্রেজেন্টেশনে অল্টারনেট প্যাটার্ন (101010…) আছে কিনা।

অ্যাপ্রোচটি হলো: বাইনারি ইকুivalent ব্যবহার করে প্রতিটি ডিজিট চেক করুন, এবং যদি দুটি কনsekutিভ ডিজিট একই হয়, তবে false রিটার্ন করুন, অন্যথায় true।

উদাহরণ

#include <iostream> using namespace std; bool hasAlternatePattern(unsigned int n) {    int previous = n % 2;    n = n/2;    while (n > 0) {       int current = n % 2;       if (current == previous) // If current bit is same as previous       return false;       previous = current;       n = n / 2;    }    return true; } int main() {    unsigned int number = 42;    if(hasAlternatePattern(number))       cout << "Has alternating pattern";    else       cout << "Has no alternating pattern"; }

আউটপুট

Has alternating pattern

  1. C++ প্রোগ্রাম: সংখ্যার সেট ও আনসেট বিটের সংখ্যা সমান কিনা চেক

  2. C++-এ সেট বিট কাউন্ট অনুযায়ী অ্যারে সর্ট করা

  3. C++-এ k সেট বিটস সহ একটি নম্বরকে ম্যাক্সিমাইজ করতে ন্যূনতম ফ্লিপ বের করা

  4. পাইথনে সংখ্যার বাইনারি রিপ্রেজেন্টেশনে ক্রমাগত ১-এর ব্লক ক্রমবর্ধমান কিনা