এই সেকশনে আমরা দেখব কিভাবে একটি সংখ্যা স্পার্স (sparse) কিনা তা যাচাই করা যায়। একটি সংখ্যাকে স্পার্স বলা হয় যদি তার বাইনারি রিপ্রেজেন্টেশনে দুটি বা ততোধিক কনsekutিভ ১ থাকে না। ধরুন একটি সংখ্যা ৭২। এটি বাইনারিতে 01001000। এখানে দুটি বা ততোধিক কনsekutিভ ১ নেই।
একটি সংখ্যা স্পার্স কিনা তা চেক করতে, সংখ্যাটিকে n ধরে এক বিট ডান দিকে শিফ্ট করুন এবং বিটওয়াইজ AND করুন। যদি রেজাল্ট ০ হয়, তবে সেটি স্পার্স নম্বর, অন্যথায় নয়।
উদাহরণ
#include <iostream> using namespace std; bool isSparseNumber(int n) { int res = n & (n >> 1); if(res == 0) return true; return false; } int main() { int num = 72; if(isSparseNumber(num)){ cout << "This is sparse number"; } else { cout << "This is not sparse number"; } }আউটপুট
This is sparse number