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

দেওয়া উপাদান সংখ্যায় ম্যাট্রিক্স অর্ডার গণনা C++-এ

মোট উপাদান সংখ্যা দেওয়া থাকলে, কত ধরনের ম্যাট্রিক্স অর্ডার (m×n) সম্ভব তা বের করতে হবে। অর্থাৎ, দেয়া সংখ্যার কতটি বিভাজক জোড়া (m, n) আছে যেখানে m×n = সংখ্যা।

উদাহরণ

ইনপুট: 6

বিভাজক জোড়া: (1,6), (2,3), (3,2), (6,1) → মোট 4টি

ইনপুট: 40

বিভাজক জোড়া: (1,40), (2,20), (4,10), (5,8), (8,5), (10,4), (20,2), (40,1) → মোট 8টি

অ্যালগরিদম

  1. ১ থেকে n পর্যন্ত লুপ চালান।
  2. যদি n % i == 0 হয়, তবে কাউন্ট বাড়ান।
  3. ফলাফল রিটার্ন করুন।

সময় জটিলতা: O(n), অপ্টিমাইজড: O(√n)

C++ কোড উদাহরণ

#include <iostream>
using namespace std;

int countMatrixOrders(int n) {
    int count = 0;
    for (int i = 1; i <= n; i++)
        if (n % i == 0) count++;
    return count;
}

// Optimized O(√n)
int countMatrixOrdersOptimized(int n) {
    int count = 0;
    for (int i = 1; i * 1LL * i <= n; i++) {
        if (n % i == 0) {
            count++;
            if (i != n / i) count++;
        }
    }
    return count;
}

int main() {
    int n = 6;
    cout << "Orders: " << countMatrixOrders(n) << endl;
    cout << "Optimized: " << countMatrixOrdersOptimized(n);
    return 0;
}

ইনপুট

6

আউটপুট

4
  1. সি++-এ দিয়ে পরিমাপের সমান কোণযুক্ত ত্রিভুজের সংখ্যা গণনা

  2. সি++-এ দিয়ে রেঞ্জে ন্যূনতম উপাদানের সংখ্যা গণনা

  3. C++-এ সংখ্যা N-কে ভাগ করে দিতে পারা ডিজিট গণনা

  4. C++-এ অ্যারেতে দুটি দেওয়া উপাদানের মধ্যস্থ উপাদান গণনা