কম্পিউটার টিউটোরিয়াল

C++-এ m টিমে n মানুষের ন্যূনতম ও সর্বোচ্চ জোড়া সংখ্যা

সমস্যা বিবরণ

N প্রতিযোগী কিছুভাবে M টিমে ভাগ করা হয়েছে যাতে প্রতিটি টিমে কমপক্ষে একজন প্রতিযোগী থাকে। প্রতিযোগিতা শেষে একই টিমের প্রতিটি জোড়া প্রতিযোগী বন্ধু बन যায়।

আপনার কাজ হল একটি প্রোগ্রাম লিখা যা প্রতিযোগিতা শেষে বন্ধুদের ন্যূনতম এবং সর্বোচ্চ জোড়া সংখ্যা বের করবে।

অ্যালগরিদম

1. সর্বোচ্চ জোড়া নিচের সূত্র দিয়ে পাওয়া যায়:
   maxPairs = ((n - m) * (n - m + 1)) / 2

2. ন্যূনতম জোড়া নিচের সূত্র দিয়ে পাওয়া যায়:
   minPairs = m * (((n - m) / m + 1) * ((n - m) / m)) / 2 + ceil((n - m) / double(m)) * ((n - m) % m);

উদাহরণ কোড

#include <iostream>
#include <cmath>
using namespace std;

void getPairs(int n, int m) {
    int maxPairs = ((n - m + 1) * (n - m)) / 2;
    int minPairs = m * (((n - m) / m + 1) * ((n - m) / m)) / 2 + ceil((n - m) / double(m)) * ((n - m) % m);
    cout << "Minimum pairs = " << minPairs << "\n";
    cout << "Maximum pairs = " << maxPairs << "\n";
}

int main() {
    getPairs(3, 2);
    return 0;
}

আউটপুট

Minimum pairs = 1
Maximum pairs = 1
  1. C++-তে লিংকড লিস্ট থেকে K দিয়ে বিভাজ্য সর্বোচ্চ ও ন্যূনতম এলিমেন্ট বের করা

  2. একটি সংখ্যা এবং তার সর্বোচ্চ প্রাইম ফ্যাক্টরের যোগফল (C++)

  3. C++ ব্যবহার করে XOR সর্বোচ্চ করার জন্য ন্যূনতম এলিমেন্ট অপসারণ

  4. C++-এ সিঙ্গলি লিংকড লিস্ট-এ ন্যূনতম এবং সর্বোচ্চ প্রাইম নম্বর বের করা