Back

14. Recursion

📘 কনসেপ্ট (থিওরি)

রিকার্শন (Recursion) হলো এমন একটি পদ্ধতি যেখানে কোনো সমস্যার সমাধান একই সমস্যার ছোট দৃষ্টান্তগুলোর (instances) সমাধানের ওপর নির্ভর করে। প্রোগ্রামিংয়ে, যখন কোনো ফাংশন নিজেকে কল করে তখন রিকার্শন ঘটে। একটি অসীম লুপ (infinite loop) প্রতিরোধ করতে রিকার্সিভ ফাংশনে অবশ্যই একটি **বেস কেস (Base Case)** (নিজেকে কল করা বন্ধ করার একটি শর্ত) থাকতে হবে।

💡 উদাহরণ

রিকার্শন ব্যবহার করে ফ্যাক্টোরিয়াল (Factorial):
function factorial(n) { if (n === 0) return 1; // বেস কেস return n * factorial(n - 1); // রিকার্সিভ কল }

🎯 আপনার কাজ (প্র্যাকটিস)

একটি রিকার্সিভ ফাংশন countdown(n) লিখুন যা n লগ (log) করে, তারপর n - 1 দিয়ে নিজেকে কল করে। বেস কেসটি হলো যখন n <= 0 (কেবল রিটার্ন করবে)।
main.dsa
Loading...
OUTPUT
Run your code to see the output here...