কম্পিউটার

C++ ব্যবহার করে লোকেদের জোড়ার উপায়ের সংখ্যা খুঁজুন


একটি সমস্যা সমাধানের জন্য যেখানে n − এখন প্রতিটি ব্যক্তি হয় একক হতে পারে বা একটি জোড়ায় উপস্থিত থাকতে পারে, তাই আমাদের এই লোকেদের জোড়া লাগানোর মোট উপায় খুঁজে বের করতে হবে৷

Input : 3

Output: 4

Explanation : [ {1}, {2}, {3},], [{1, 2}, {3}], [{1}, {2, 3}], [{1, 3}, {2}] these four ways are the only ways we can pa up these 3 people.

Input : 6

Output : 76

সমাধান খোঁজার পদ্ধতি

এই পদ্ধতিতে, আমরা তরুণ মূকনাট্য-এর সূত্র ব্যবহার করতে যাচ্ছি এই সমস্যাটি গণনা করতে এবং আমরা যে সূত্রটি ব্যবহার করতে যাচ্ছি তা হল −

A[n] = A[n-1] + (n-1) * A[n-2]

উদাহরণ

উপরের পদ্ধতির জন্য C++ কোড

#include <bits/stdc++.h>
using namespace std;
int Young_Tableau(int n){
    int A[n + 1];// To store the answer.
    A[1] = 1; // initial values
    A[2] = 2; // initial values
    for (int i = 3; i <= n; i++) { // using the formula of "Young Tableau" to calculate our answer
        A[i] = A[i - 1] + (i - 1) * A[i - 2];
    }
    return A[n]; // returning the answer
}
int main(){
    int n = 6;
    cout << Young_Tableau(n);
    return 0;
}

আউটপুট

76

উপরের কোডের ব্যাখ্যা

উপরের পদ্ধতিতে, আমরা সহজভাবে ইয়াং টেবিলের সূত্র প্রয়োগ করি, যেখানে আমাদের খুঁজে বের করতে হবে আগের দুটি সংখ্যা। এখন আমরা এই সংখ্যাগুলিকে অ্যারে সূচকে সংরক্ষণ করতে পারি। সাবস্ক্রাইব করে, আমরা আমাদের সূত্রের জন্য তাদের মান অর্জন করতে পারি, এবং তাই আমরা আমাদের উত্তর গণনা করি।

উপসংহার

এই টিউটোরিয়ালে, আমরা লোকেদের জোড়ার বিভিন্ন উপায় খুঁজে বের করার জন্য একটি সমস্যার সমাধান করি। আমরা এই সমস্যার জন্য C++ প্রোগ্রাম এবং সম্পূর্ণ পদ্ধতি (স্বাভাবিক) শিখেছি যার মাধ্যমে আমরা এই সমস্যার সমাধান করেছি। আমরা অন্যান্য ভাষা যেমন সি, জাভা, পাইথন এবং অন্যান্য ভাষায় একই প্রোগ্রাম লিখতে পারি। আমরা আশা করি আপনার এই টিউটোরিয়ালটি সহায়ক হবে৷


  1. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন

  2. C++ ব্যবহার করে একটি N-ary ট্রি অতিক্রম করার উপায়ের সংখ্যা খুঁজুন

  3. C++ ব্যবহার করে স্টপিং স্টেশনের সংখ্যা খুঁজুন

  4. C++ ব্যবহার করে একটি সেটে রিফ্লেক্সিভ রিলেশনের সংখ্যা খুঁজুন