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

C++-এ দেওয়া সংখ্যা গঠন করতে পারা পয়েন্ট কম্বিনেশন প্রিন্ট করা

এই সমস্যায় মোট স্কোর n দেওয়া আছে। বাস্কেটবলের পয়েন্ট ১, ২, এবং ৩ দিয়ে যেসব কম্বিনেশন থেকে মোট স্কোর n তৈরি হয় সেগুলো প্রিন্ট করতে হবে।

উদাহরণ

ইনপুট: 4
আউটপুট: 1 1 1 1 1 1 2 1 2 1 1 3 2 1 1 2 2 3 1

এই সমস্যাটি সমাধানের জন্য রিকার্শন ব্যবহার করা হবে। এবং বাকি মান n-s এর জন্য ফিক্স করা হবে, যেখানে s হলো স্কোর। যদি কম্বিনেশনটি যোগ করলে n হয়, তবে কম্বিনেশনটি প্রিন্ট করা হবে।

বাস্তবায়ন

#define MAX_POINT 3 
#define ARR_SIZE 100 
#include <bits/stdc++.h> 
using namespace std; 

void printScore(int arr[], int arr_size) { 
    int i; 
    for (i = 0; i < arr_size; i++) 
        cout << arr[i] << " "; 
    cout << endl; 
} 

void printScoreCombination(int n, int i) { 
    static int arr[ARR_SIZE]; 
    if (n == 0) { 
        printScore(arr, i); 
    } else if (n > 0) { 
        int k; 
        for (k = 1; k <= MAX_POINT; k++) { 
            arr[i] = k; 
            printScoreCombination(n - k, i + 1); 
        } 
    } 
} 

int main() { 
    int n = 4; 
    cout << "Different compositions formed by 1, 2 and 3 of " << n << " are\n"; 
    printScoreCombination(n, 0); 
    return 0; 
}

আউটপুট

Different compositions formed by 1, 2 and 3 of 4 are
1 1 1 1
1 1 2
1 2 1
1 3
2 1 1
2 2
3 1
  1. C++-এ একটি নির্দিষ্ট নোড থেকে দূরত্ব k-এ থাকা সব নোড প্রিন্ট করা

  2. দেওয়া অঙ্কগুলো দিয়ে গঠিত সর্বোচ্চ সংখ্যা খুঁজে বের করা C++-তে

  3. C++-এ একটি দিয়ে দেয়া সংখ্যার অঙ্ক ব্যবহার করে সর্বোচ্চ সংখ্যা নির্ণয়

  4. C++ ব্যবহার করে একটি দেওয়া সংখ্যার সমষ্টি তৈরির সব কম্বিনেশন খুঁজে বের করা