What is Recursion?
- Recursion is a programming technique where a function calls itself directly or indirectly to solve a problem by breaking it down into smaller, similar subproblems.
What is Loop?
- A loop in programming is a control flow statement that allows a block of code to be executed repeatedly until a specific condition is met.
Difference between Recursion and Loop
- Recursion and loops (iteration) are two methods for repeating code, with loops generally being more efficient for simple, linear tasks, while recursion offers more elegant solutions for complex, self-similar problems like tree traversals.
Programs in Recursion and Loop
1) Sum of Digits
Recursion:
def sum(no):
if no == 0:
return 0
else:
return (no % 10) + sum(no // 10)
print(sum(1234))
Loop:
Sum = 0
no = 1234
while no>0:
Sum = Sum + no%10
no = no//10
print(Sum)
Output:
2) Count of Digits
Recursion:
def count(no):
if no < 10:
return 1
else:
return 1 + count(no // 10)
print(count(1234))
Loop:
Sum = 0
no = 1234
count = 0
if no == 0:
count = 1
while no>0:
Sum = Sum + no%10
no = no//10
count+=1
print(count)
Output:
3) Reverse a number
Recursion:
def reverse(no, rev=0):
if no == 0:
return rev
else:
return reverse(no // 10, rev * 10 + no % 10)
print(reverse(1234))
Loop:
no = 1234
reverse = 0
while no>0:
reverse = reverse*10 + no%10
no = no//10
print(reverse)
Output:



Top comments (0)