এই সমস্যায় একটি সংখ্যা n দেওয়া আছে। আমাদের একটি প্যাটার্ন প্রিন্ট করতে হবে যা ০ বা নেতিবাচক সংখ্যা পর্যন্ত কমে যাবে এবং আবার বৃদ্ধি পাবে মূল সংখ্যা পর্যন্ত।
উদাহরণ
ইনপুট: n = 12 আউটপুট: 12 7 2 -3 2 7 12
এই সমস্যাটি সমাধানের জন্য রিকার্শন ব্যবহার করা হবে এবং প্রতিটি আপডেটের পর ফাংশনকে আবার কল করা হবে। আপডেটের ট্র্যাক রাখতে একটি ফ্ল্যাগ ভেরিয়েবল ব্যবহার করা হবে যা ফাংশনকে বলে দেবে সংখ্যাটি ৫ দিয়ে কমাতে হবে নাকি বেড়াতে।
বাস্তবায়ন
#include <iostream>
using namespace std;
void printNextValue(int m) {
if (m > 0) {
cout << m << '\t';
printNextValue(m - 5);
}
cout << m << '\t';
}
int main() {
int n = 13;
cout << "The pattern is:\n";
printNextValue(n);
return 0;
}
আউটপুট
The pattern is : 13 8 3 -2 3 8 13