সমস্যা বিবৃতি
একটি পূর্ণসংখ্যা অ্যারে অ্যারের দেওয়া, কাজটি হল অ্যারের সমস্ত উপাদান মুছে ফেলার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন প্রিন্ট করা। উপাদান মুছে ফেলার সময় নিম্নলিখিত বিধিনিষেধ আরোপ করা হয় -
-
অ্যারে থেকে যেকোনো উপাদান এলোমেলোভাবে নির্বাচন করা যেতে পারে এবং এটি দ্বারা বিভাজ্য প্রতিটি উপাদান অ্যারে থেকে সরানো যেতে পারে
যদি arr[] ={2, 4, 15, 10, 8, 5, 3} হয় তাহলে সমস্ত উপাদান মুছে ফেলার জন্য 3 অপারেশন প্রয়োজন −
- যদি আমরা 2 নির্বাচন করি তাহলে এটি মুছে ফেলবে {2, 4, 10, 8
- যদি আমরা 5 বেছে নিই তাহলে এটি {5, 15কে সরিয়ে দেবে
- যদি আমরা 3 বেছে নিই তাহলে এটি সরিয়ে দেবে {3}
অ্যালগরিদম
<পূর্ব>1. অ্যারেকে ক্রমবর্ধমান ক্রমে সাজান এবং প্রতিটি উপাদান 2 এর সংখ্যা গণনা করুন। প্রতিটি অচিহ্নিত উপাদানের জন্য শুরু থেকে শুরু করে এমন সমস্ত উপাদানকে চিহ্নিত করুন যেটি উপাদান নির্বাচন করে বিভাজ্য, এবং ফলাফলের কাউন্টার বাড়ানউদাহরণ
#include#include #SIZE(arr) (sizeof(arr) / sizeof(arr[0]))#define MAX 100 useing namespace std;int getMinOperations(int *arr, int n) { int মানচিত্র[MAX] ={0}; sort(arr, arr + n); জন্য (int i =0; i আউটপুট
আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট −
তৈরি করেসর্বনিম্ন প্রয়োজনীয় অপারেশন =3