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

সি++-এ আকার N এবং যোগফল K 가진 অ্যারে গণনা

দুটি সংখ্যা n এবং k দেওয়া হয়েছে। n আকারের এবং যোগফল k এমন কতগুলো অ্যারে বানানো যায় তা বের করতে হবে।

সূত্র: C(k-1, n-1) = (k-1)! / ((n-1)! * (k-n)!)

উদাহরণ

ইনপুট: n = 1, k = 2 → আউটপুট: 1 (শুধু [২])

ইনপুট: n = 2, k = 4 → আউটপুট: 3 ([১,৩], [২,২], [৩,১])

অ্যালগরিদম

  • n এবং k ইনিশিয়ালাইজ করুন।
  • ফ্যাক্টোরিয়াল ফাংশন লিখুন।
  • বাইনোমিয়াল কোইফিসিয়েন্ট C(k-1, n-1) বের করুন।
  • ফলাফল ফেরত দিন।

সি++ ইমপ্লিমেন্টেশন

#include <bits/stdc++.h>
using namespace std;

int factorial(int n) {
    int result = 1;
    for (int i = 2; i <= n; i++) result *= i;
    return result;
}

int getNumberOfArraysCount(int n, int k) {
    // C(k-1, n-1) = (k-1)! / ((n-1)! * (k-n)!)
    return factorial(k - 1) / (factorial(n - 1) * factorial(k - n));
}

int main() {
    int N = 5, K = 8;
    cout << getNumberOfArraysCount(N, K) << endl; // C(7,4) = 35
    return 0;
}

আউটপুট

35
  1. ফিবোনাচ্চি সংখ্যা যেন করা নোডের ওজন এবং X-এর যোগফল C++-এ

  2. অ্যারেতে নন-রিপিটিং (ডিস্টিংक्ट) উপাদানগুলোর যোগফল বের করা C++-তে

  3. C++ ব্যবহার করে AP-এ একটি সংখ্যা আছে কিনা চেক করা

  4. যোগফল এবং GCD দিয়ে দুটি সংখ্যা বের করা (C++)