কম্পিউটার

C++ ব্যবহার করে সমস্ত উপাদানকে সমান করতে ন্যূনতম সংখ্যা।


সমস্যা বিবৃতি

N উপাদানগুলির একটি অ্যারে এবং একটি পূর্ণসংখ্যা K. দেওয়া হলে, প্রদত্ত অ্যারের উপর যে কোনো সংখ্যক বার নিম্নলিখিত ক্রিয়াকলাপ সম্পাদন করার অনুমতি দেওয়া হয় −

  • K th ঢোকান অ্যারের শেষে এলিমেন্ট এবং অ্যারের প্রথম এলিমেন্ট মুছে দিন।

কাজটি হল অ্যারের সমস্ত উপাদানকে সমান করতে প্রয়োজনীয় নূন্যতম সংখ্যক চাল খুঁজে বের করা। প্রিন্ট -1 সম্ভব না হলে

যদি arr[] ={1, 2, 3, 4, 5, 6} এবং k =6 তাহলে ন্যূনতম 5টি চাল প্রয়োজন:মুভ-1:{2, 3, 4, 5, 6, 6} সরান- 2:{3, 4, 5, 6, 6, 6}মুভ-3:{4, 5, 6, 6, 6, 6}সরান-4:{5, 6, 6, 6, 6, 6}সরান -5:{6, 6, 6, 6, 6, 6}

অ্যালগরিদম

<পূর্ব>1. প্রথমে আমরা শেষে a[k] অনুলিপি করি, তারপর a[k+1] এবং আরও 2। নিশ্চিত করতে যে আমরা শুধুমাত্র সমান উপাদানগুলি অনুলিপি করি, K থেকে N রেঞ্জের সমস্ত উপাদান সমান হওয়া উচিত। আমাদের 1 থেকে K রেঞ্জের সমস্ত উপাদান অপসারণ করতে হবে যা a[k]3 এর সমান নয়। যতক্ষণ না আমরা 1 থেকে K রেঞ্জের মধ্যে সবচেয়ে সঠিক পদে না পৌঁছাই ততক্ষণ পর্যন্ত ক্রিয়াকলাপগুলি প্রয়োগ করতে থাকুন যা a[k] এর সমান নয়৷

উদাহরণ

#include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0]))Namespace ব্যবহার করে জন্য (i =k - 1; i =0; --i) { if (arr[i] !=arr[k - 1]) { ফেরত i + 1; } } রিটার্ন 0;} int main(){ int arr[] ={1, 2, 3, 4, 5, 6}; int k =6; cout <<"সর্বনিম্ন চালনা প্রয়োজন =" < 

আউটপুট

আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট −

তৈরি করে
সর্বনিম্ন চাল প্রয়োজন =5

  1. C++ ব্যবহার করে XORকে সর্বোচ্চ করতে ন্যূনতম সংখ্যক উপাদান সরাতে হবে।

  2. C++ ব্যবহার করে মাঝারি x সমান করতে উপাদানের ন্যূনতম সংখ্যা যোগ করতে হবে।

  3. C++ ব্যবহার করে অ্যারেটিকে ভালো করার জন্য ন্যূনতম সংখ্যক উপাদান সরানো উচিত।

  4. C++-এ অ্যারের সমস্ত উপাদান একই করতে ন্যূনতম ডিলিট অপারেশন।