কম্পিউটার

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


ধরুন, আমাদের একটি সংখ্যা স্ট্রিং আছে, আমাদের খুঁজে বের করতে হবে যে সংখ্যাটি প্রদত্ত বেস B এর কিনা? যদি স্ট্রিংটি "101110", b =2 হয়, তাহলে প্রোগ্রামটি সত্যে ফিরে আসবে। যদি স্ট্রিংটি "A8F" হয়, বেস 16 হয়, এটি সত্য হবে৷

পদ্ধতি খুব সহজ. যদি সমস্ত অক্ষর প্রদত্ত বেসের প্রতীকগুলির পরিসরে থাকে, তাহলে সত্য ফেরত দিন, অন্যথায় মিথ্যা।

উদাহরণ

#include <iostream>
using namespace std;
bool inGivenBase(string s, int base) {
   if (base > 16) //program can handle upto base 1
      return false;
      else if (base <= 10) { //for 0 to 9
         for (int i = 0; i < s.length(); i++)
            if (!(s[i] >= '0' && s[i] < ('0' + base)))
               return false;
      } else {
         for (int i = 0; i < s.length(); i++)
            if (! ((s[i] >= '0' && s[i] < ('0' + base)) || (s[i] >= 'A' && s[i] < ('A' + base - 10))))
            return false;
      }
   return true;
}
int main() {
   string str = "A87F";
   int base = 16;
   if(inGivenBase(str, base)){
      cout << str << " is in base " << base;
   } else {
      cout << str << " is not in base " << base;
   }
}

আউটপুট

A87F is in base 16

  1. একটি সংখ্যা সি++ এ পাইথাগোরিয়ান প্রাইম কিনা তা পরীক্ষা করুন

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

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

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