কম্পিউটার

C++ ব্যবহার করে ন্যূনতম সংখ্যক আইটেম সরবরাহ করতে হবে।


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

আকারের একটি অ্যারে দেওয়া, N বালতিকে প্রতিনিধিত্ব করে, প্রতিটি অ্যারে সূচক আইটেম ধারণকারী। K ট্যুর দেওয়া হয়েছে যার মধ্যে সমস্ত আইটেম বিতরণ করা প্রয়োজন। এটি 1 সফরে শুধুমাত্র একটি বালতি থেকে আইটেম নেওয়ার অনুমতি দেওয়া হয়। টাস্ক হল প্রতি ট্যুরে ন্যূনতম কত আইটেম ডেলিভারি করতে হবে তা বলা যাতে সমস্ত আইটেম কে ট্যুরের মধ্যে ডেলিভারি করা যায়।

যদি আইটেম ={1, 3, 5, 7, 9} এবং 10 ট্যুর সহ 5টি বালতি থাকে তবে আমরা একবারে 3টি আইটেম সরবরাহ করে প্রতি ট্যুরে 3টি আইটেম সরবরাহ করতে পারি,

  • 1ম বালতির আকার হল 1 তাই প্রয়োজনীয় ট্যুরের সংখ্যা =1

  • ২য় বালতির আকার ৩ তাই প্রয়োজনীয় ট্যুরের সংখ্যা =১

  • 3য় বালতির আকার 5 তাই প্রয়োজনীয় ট্যুরের সংখ্যা =2 (প্রতি ট্যুরে 3 + 2 আইটেম)

  • 4র্থ বালতির আকার 7 তাই প্রয়োজনীয় ট্যুরের সংখ্যা =3 (প্রতি ট্যুরে 3 + 3 + 1 আইটেম)

  • 5ম বালতির আকার 9 তাই প্রয়োজনীয় ট্যুরের সংখ্যা =3 (প্রতি ট্যুরে 3 + 3 + 3 আইটেম)

মোট ট্যুরের সংখ্যা =10

অ্যালগরিদম

<পূর্ব>1. প্রতি ডেলিভারিতে বিতরণ করা আইটেমের ন্যূনতম সংখ্যা খুঁজুন2. একটি বালতিতে 1 থেকে আইটেমের সর্বোচ্চ মান পর্যন্ত পুনরাবৃত্তি করুন এবং প্রতিটি বালতির জন্য প্রয়োজনীয় ট্যুরের সংখ্যা গণনা করুন এবং সম্পূর্ণ ডেলিভারির জন্য মোট ট্যুরের সংখ্যা খুঁজুন3। K এর থেকে কম বা সমান ট্যুর সহ প্রথম এই ধরনের মান প্রয়োজনীয় সংখ্যা দেয়

উদাহরণ

#include #include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) namespace ব্যবহার করে std;int minItemsDeliveried(int *arr, int n, int k){ int maxElement =INT_MIN; জন্য (int i =0; i 
 

            
  1. C++ ব্যবহার করে N 25 দ্বারা বিভাজ্য করার জন্য প্রদত্ত চালের ন্যূনতম সংখ্যা প্রয়োজন।

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

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

  4. C++ ব্যবহার করে সংখ্যার ন্যূনতম যোগফল নির্ণয় করুন।