দুটি সংখ্যা N এবং K দেওয়া আছে। লুপ ছাড়া রিকারশন ব্যবহার করে সিরিজ প্রিন্ট করতে হবে: N থেকে শুরু করে K বিয়োগ করে ০ বা নেগেটিভ হলে K যোগ করে আবার N পর্যন্ত।
উদাহরণ
ইনপুট: n=12, k=3
আউটপুট: 12 9 6 3 0 3 6 9 12
পদ্ধতি
- PrintSeriesRec(current, N, K, flag) রিকারসিভ ফাংশন।
- current প্রিন্ট করা হয়।
- যদি current ≤ 0 হয়, flag টগল করা হয় (বিয়োগের পরিবর্তে যোগ)।
- যদি current == N এবং flag false হয়, রিটার্ন (বেস কেস)।
- flag true হলে current-K, false হলে current+K দিয়ে রিকারসিভ কল।
C++ প্রোগ্রাম উদাহরণ
#include <iostream>
using namespace std;
void PrintSeriesRec(int current, int N, int K, bool flag) {
cout << current << "\t";
if (current <= 0) flag = !flag;
if (current == N && !flag) return;
if (flag) PrintSeriesRec(current - K, N, K, flag);
else PrintSeriesRec(current + K, N, K, flag);
}
int main() {
int N=12, K=4;
cout << "Series: \n";
PrintSeriesRec(N, N, K, true);
return 0;
}
আউটপুট
Series: 12 8 4 0 4 8 12