কম্পিউটার

একটি প্রদত্ত সংখ্যা C++ তে স্পার্স বা না তা পরীক্ষা করুন


এই বিভাগে, আমরা দেখব কিভাবে একটি সংখ্যা স্পার্স কি না চেক করতে হয়। সংখ্যাটির বাইনারি উপস্থাপনা, পরপর দুটি 1 এর বেশি না থাকলে একটি সংখ্যাকে স্পার্স বলা হয়। ধরুন একটি সংখ্যা 72 এর মত। এটি 01001000। এখানে দুটি বা তার বেশি পরপর 1s নেই।

একটি সংখ্যা স্পার্স কি না তা পরীক্ষা করার জন্য, আমরা সংখ্যাটিকে n হিসাবে নেব, তারপর সেই নম্বরটিকে এক বিট ডানদিকে সরিয়ে ফেলব এবং বিটওয়াইজ AND সম্পাদন করব। যদি ফলাফল 0 হয়, তাহলে সেটি একটি স্পার্স সংখ্যা, অন্যথায় নয়।

উদাহরণ

#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

  1. একটি বড় সংখ্যা 75 দ্বারা বিভাজ্য নাকি C++ এ নয় তা পরীক্ষা করুন

  2. একটি বড় সংখ্যা 5 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  3. একটি বড় সংখ্যা 25 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  4. একটি বড় সংখ্যা 11 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন