সমস্যা বিবরণ
একটি রিকার্সিভ ফাংশন লিখতে হবে যা একটি নম্বর নেবে এবং ০ থেকে সেই নম্বর পর্যন্ত রিভার্স কাউন্ট প্রিন্ট করবে। শুধু রিকার্সন ব্যবহার করতে হবে।
সমাধান
const recursiveLoop = (counter) => {
if (counter > 0) {
recursiveLoop(counter - 1);
}
console.log(counter);
return counter;
};
recursiveLoop(5);
recursiveLoop(15);
recursiveLoop(25);
আউটপুট
0 1 2 3 4 5
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
ব্যাখ্যা
- বেস কেস:
counter > 0হলে রিকার্সিভ কল। - রিকার্সিভ কল শেষ হলে (স্ট্যাক আনਵাইন্ড হলে)
console.log(counter)এক্সিকিউট হয়। - এই কারণে ০ থেকে শুরু করে আসল কাউন্টার পর্যন্ত প্রিন্ট হয়।
সতর্কতা
বড় নম্বরের জন্য স্ট্যাক ওভারফ্লো হতে পারে (JS কল স্ট্যাক লিমিট ~১০-১৫ হাজার)।