এই সমস্যায় একটি সংখ্যা 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