রিকার্সন ব্যবহার করে ১ থেকে n পর্যন্ত সংখ্যা প্রিন্ট করা হয়, কোনো লুপ (for/while) ছাড়া। ফাংশন নিজেকে কল করে এবং বেস কেস দিয়ে রুকায়।
উদাহরণ
def print_numbers(n):
if n > 0:
print_numbers(n - 1) # রিকার্সিভ কল
print(n, end=" ")
upper = 6
print("অপার লিমিট:", upper)
print("সংখ্যাগুলো:", end=" ")
print_numbers(upper)
আউটপুট
অপার লিমিট: 6 সংখ্যাগুলো: 1 2 3 4 5 6
ব্যাখ্যা
print_numbersফাংশন n>0 চেক করে।পहলে n-1 দিয়ে রিকার্সিভ কল করে (স্ট্যাকে জমা হয়)।
বেস কেসে পৌঁছালে (n=0) রিটার্ন শুরু হয়।
রিটার্নের সময় ১ থেকে n পর্যন্ত ক্রমাগত প্রিন্ট হয়।
স্ট্যাক ওভারফ্লো এড়াতে বড় n-এর জন্য উপযুক্ত নয়।