ধরুন, আমাদের একটি নাম্বার স্ট্রিং আছে, আমাদের বের করতে হবে যে সংখ্যাটি প্রদত্ত বেস B-তে আছে কিনা? যদি স্ট্রিংটি "101110" হয়, b = 2, তবে প্রোগ্রাম true রিটার্ন করবে। যদি স্ট্রিংটি "A8F" হয়, বেস ১৬, তবে সেটিও true হবে।
অ্যাপ্রোচটি খুব সহজ: যদি স্ট্রিংয়ের সকল ক্যারেক্টার প্রদত্ত বেসের সিম্বল রেঞ্জের মধ্যে থাকে, তবে true রিটার্ন করব, অন্যথায় false।
উদাহরণ
#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