বিবেচনা করুন আমাদের আকার n এর একটি অ্যারে আছে, আমাদের গণনা সাজানোর কৌশল ব্যবহার করে মধ্যমা এবং মোড খুঁজে বের করতে হবে। এই কৌশলটি দরকারী, যখন অ্যারের উপাদানগুলি সীমিত পরিসরে থাকে। ধরুন উপাদানগুলি হল {1, 1, 1, 2, 7, 1}, তাহলে মোড হল 1, এবং মিডিয়ান হল 1.5। আসুন দেখি মিডিয়ান কি এবং মোড কি −
- সংখ্যার সাজানো তালিকার মধ্যবর্তী সংখ্যা হল মধ্যম
- মোড হল সেই উপাদান যার সংঘটন তালিকায় সর্বাধিক
মিডিয়ান এবং মোড পেতে, আমাদের এই ধাপগুলি অনুসরণ করতে হবে -
- ধরুন যে ইনপুট অ্যারের আকার হল n
- পরবর্তী সূচকে পূর্ববর্তী গণনাগুলিকে যোগ করার আগে গণনা অ্যারে নিন
- এতে সংরক্ষিত সর্বোচ্চ মানের সূচক হল প্রদত্ত ডেটার মোড।
- যদি একাধিক সর্বাধিক উপাদান উপস্থিত থাকে, তাহলে আমরা তাদের একটি নিতে পারি
- মানটিকে মোড নামে আরেকটি পৃথক ভেরিয়েবলে সংরক্ষণ করুন .
- গণনা সাজানোর স্বাভাবিক প্রক্রিয়াকরণ চালিয়ে যান।
- বাছাই করা অ্যারেতে, যদি n বিজোড় হয়, তাহলে মধ্যমাটি সাজানো অ্যারের মধ্যম সবচেয়ে উপাদান, এবং যদি n জোড় হয়, তাহলে মধ্যম দুটি উপাদান নিন, তারপর মধ্যম পেতে তাদের গড় বের করুন।<
- মানটিকে মিডিয়ান নামে আরেকটি পৃথক ভেরিয়েবলে সংরক্ষণ করুন।
উদাহরণ
#include <iostream> using namespace std; bool isRepresentedInDDigits(int num, int d, int base) { if (d==1 && num < base) return true; if (d > 1 && num >= base) return isRepresentedInDDigits(num/base, --d, base); return false; } bool checkNumber(int num, int d) { // Check for all bases one by one for (int base=2; base<=32; base++) if (isRepresentedInDDigits(num, d, base)) return true; return false; } int main() { int num = 8; int dig = 2; if(checkNumber(num, dig)) cout << "Can be represented"; else cout << "Can not be represented"; }
আউটপুট
Can be represented