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

C++-এ ফ্যাক্টরের সব কম্বিনেশন প্রিন্ট করা

এই সমস্যায় একটি সংখ্যা n দেওয়া আছে। আমাদের n-এর ফ্যাক্টরের সব কম্বিনেশন প্রিন্ট করতে হবে।

উদাহরণ

ইনপুট: 24
আউটপুট: 2 2 2 3 2 4 3 8 3 4 6 2 12

এই সমাধানের জন্য একটি রিকার্সিভ ফাংশন ব্যবহার করা হবে যা সংখ্যার ফ্যাক্টর কম্বিনেশন খুঁজে বের করবে। সব কম্বিনেশন একটি অ্যারে অফ অ্যারেতে সংরক্ষণ করা হবে।

বাস্তবায়ন

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

vector<vector<int>> factor_Combo; 

void genreateFactorCombinations(int first, int eachFactor, int n, vector<int> factor) { 
    if (first > n || eachFactor > n) 
        return; 
    if (eachFactor == n) { 
        factor_Combo.push_back(factor); 
        return; 
    } 
    for (int i = first; i < n; i++) { 
        if (i * eachFactor > n) 
            break; 
        if (n % i == 0) { 
            factor.push_back(i); 
            genreateFactorCombinations(i, i * eachFactor, n, factor); 
            factor.pop_back(); 
        } 
    } 
} 

void printcombination() { 
    for (int i = 0; i < factor_Combo.size(); i++) { 
        for (int j = 0; j < factor_Combo[i].size(); j++) 
            cout << factor_Combo[i][j] << "\t"; 
        cout << endl; 
    } 
} 

int main() { 
    int n = 24; 
    vector<int> single_result_list; 
    cout << "All Factor combinations of " << n << " are :\n"; 
    genreateFactorCombinations(2, 1, n, single_result_list); 
    printcombination(); 
    return 0; 
}

আউটপুট

All Factor combinations of 24 are :
2 2 2 3
2 2 6
2 3 4
2 12
3 8
4 6
  1. অনসcaffoldড গ্রাফের সব সাইকেল প্রিন্ট করা C++-তে

  2. স্ট্রিং-এর সকল সাবস্ট্রিং প্রিন্ট (C++)

  3. দেওয়া রেঞ্জে প্যালিন্ড্রোম সংখ্যা প্রিন্ট (C++)

  4. C++-এ কম্বিনেশন