এই সমস্যায় দুটি পূর্ণসংখ্যা K এবং n দেওয়া আছে। আমাদের প্রথম n প্রাকৃতিক সংখ্যা ব্যবহার করে দৈর্ঘ্য K-এর সব বর্ধমান সিকোয়েন্স প্রিন্ট করতে হবে।
বর্ধমান সিকোয়েন্স হলো সংখ্যাগুলোর সিকোয়েন্স যেখানে পরবর্তী উপাদানের মান পূর্ববর্তীটির চেয়ে বড়।
উদাহরণ
ইনপুট: n = 4, K = 2 আউটপুট: 1 2 1 3 1 4 2 3 2 4 3 4
এই সমস্যাটি সমাধানের জন্য K দৈর্ঘ্যের একটি অ্যারে তৈরি করা হবে যা বর্তমান সিকোয়েন্স সংরক্ষণ করবে। অ্যারেতে প্রতিটি পজিশনের জন্য পূর্বের উপাদান চেক করে তার চেয়ে বড় উপাদান নির্বাচন করা হবে। ১ থেকে n পর্যন্ত সব মান একে Efter একে ফিক্স করার চেষ্টা করা হবে।
বাস্তবায়ন
#include<iostream>
using namespace std;
void printSequence(int arr[], int k) {
for (int i = 0; i < k; i++)
cout << arr[i] << " ";
cout << endl;
}
void printKLengthSequence(int n, int k, int &len, int arr[]) {
if (len == k) {
printSequence(arr, k);
return;
}
int i = (len == 0) ? 1 : arr[len-1] + 1;
len++;
while (i <= n) {
arr[len-1] = i;
printKLengthSequence(n, k, len, arr);
i++;
}
len--;
}
void generateSequence(int n, int k) {
int arr[k];
int len = 0;
printKLengthSequence(n, k, len, arr);
}
int main() {
int k = 3, n = 4;
cout << "Sequence of length " << k << " generated using first " << n << " natural numbers :\n";
generateSequence(n, k);
return 0;
}
আউটপুট
A sequence of length 3 generated using first 4 natural numbers : 1 2 3 1 2 4 1 3 4 2 3 4