ধরুন আমাদের একটি ধনাত্মক সংখ্যা n আছে। আমাদের ধনাত্মক সংখ্যার সমস্ত সংমিশ্রণ খুঁজে বের করতে হবে, যে সংখ্যাটি যোগ করে। এখানে আমরা শুধুমাত্র সংমিশ্রণ চাই, পারমুটেশন নয়। n =4 মানের জন্য, [1, 1, 1, 1], [1, 1, 2], [2, 2], [1, 3], [4]
আমরা পুনরাবৃত্তি ব্যবহার করে এটি সমাধান করব। আমাদের সংমিশ্রণ সঞ্চয় করার জন্য একটি অ্যারে রয়েছে এবং আমরা পুনরাবৃত্তিমূলক পদ্ধতি ব্যবহার করে সেই অ্যারেটি পূরণ করব। প্রতিটি সংমিশ্রণ উপাদানের ক্রমবর্ধমান ক্রমে সংরক্ষণ করা হবে।
উদাহরণ
#include<iostream> using namespace std; void getCombination(int arr[], int index, int num, int decrement) { if (decrement < 0) return; if (decrement == 0){ for (int i = 0; i < index; i++) cout << arr[i] << " "; cout << endl; return; } int prev; if(index == 0) prev = 1; else prev = arr[index-1]; for (int k = prev; k <= num ; k++) { arr[index] = k; getCombination(arr, index + 1, num, decrement - k); } } void findCombinations(int n) { int arr[n]; getCombination(arr, 0, n, n); } int main() { int n = 4; findCombinations(n); }
আউটপুট
1 1 1 1 1 1 2 1 3 2 2 4