DEV Community

Cover image for Understanding Recursion Through Simple and Clear Examples
Arul .A
Arul .A

Posted on

Understanding Recursion Through Simple and Clear Examples

1.Reverse a Number :

Flow Chart :

-In python :

def reverse_num(no, rev=0):
    if no == 0:
        return rev
    return reverse_num(no // 10, rev * 10 + no % 10)

print(reverse_no(1234))
Enter fullscreen mode Exit fullscreen mode

-In java :

static int reverseNum(int no, int rev){
    if(no == 0){
        return rev;
    }
    return reverseNum(no / 10, rev * 10 + no % 10);
}
Enter fullscreen mode Exit fullscreen mode

-In JavaScript :

function reverseNum(no, rev = 0){
    if(no === 0){
        return rev;
    }
    return reverseNum(Math.floor(no / 10), rev * 10 + no % 10);
}
Enter fullscreen mode Exit fullscreen mode

2.Count Digits :

Flow Chart :


-In Python :

def count_digits(no):
    if no == 0:
        return 0
    return 1 + count_digits(no // 10)
print(count_digits(2345))
Enter fullscreen mode Exit fullscreen mode

-In Java :

static int countDigits(int no){
    if(no == 0){
        return 0;
    }
    return 1 + countDigits(no / 10);
}
Enter fullscreen mode Exit fullscreen mode

-In JavaScript:

function countDigits(no){
    if(no === 0){
        return 0;
    }
    return 1 + countDigits(Math.floor(no / 10));
}
Enter fullscreen mode Exit fullscreen mode

3.Even or Odd :

flow chart:

-In Python :

def is_even(n):
    if n == 0:
        return True
    if n == 1:
        return False
    return is_even(n - 2)

print(is_even(6))
print(is_even(7))
Enter fullscreen mode Exit fullscreen mode

-In Java :

static boolean isEven(int n){
    if(n == 0){
        return true;
    }
    if(n == 1){
        return false;
    }
    return isEven(n - 2);
}
Enter fullscreen mode Exit fullscreen mode
  • In JavaScript :
function isEven(n){
    if(n === 0){
        return true;
    }
    if(n === 1){
        return false;
    }
    return isEven(n - 2);
}
Enter fullscreen mode Exit fullscreen mode

4.Sum of Digits :

flow chart :

-In Python :

def sum_digits(n):
    if n == 0:
        return 0
    return (n % 10) + sum_digits(n // 10)

print(sum_digits(1234))
Enter fullscreen mode Exit fullscreen mode

-In Java :

static int sumDigits(int n){
    if(n == 0){
        return 0;
    }
    return (n % 10) + sumDigits(n / 10);
}
Enter fullscreen mode Exit fullscreen mode
  • In JavaScript :
function sumDigits(n){
    if(n === 0){
        return 0;
    }
    return (n % 10) + sumDigits(Math.floor(n / 10));
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)