DEV Community

Cover image for Programs in Recursion and Loop
Sasireka
Sasireka

Posted on

Programs in Recursion and Loop

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)) 
Enter fullscreen mode Exit fullscreen mode

Loop:

Sum = 0
no = 1234
while no>0:
    Sum = Sum + no%10
    no = no//10
print(Sum)
Enter fullscreen mode Exit fullscreen mode

Output:

2) Count of Digits

Recursion:

def count(no):
    if no < 10:   
        return 1
    else:
        return 1 + count(no // 10)
print(count(1234))
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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))
Enter fullscreen mode Exit fullscreen mode

Loop:

no = 1234
reverse = 0
while no>0:
    reverse = reverse*10 + no%10
    no = no//10
print(reverse)
Enter fullscreen mode Exit fullscreen mode

Output:

Top comments (0)