DEV Community

Harini
Harini

Posted on

Understanding Recursion Through Pattern Programs

What is Recursion?

Recursion is a programming technique where a function calls itself to solve a problem.

Every recursive function has two main parts:

  • Base Case β†’ stops the function
  • Recursive Call β†’ calls the function again

Without a base case, the program will run infinitely (Stack Overflow error)

1) 1 1 1 1 1

Flowchart

Python Code

def display(num):
    if num <= 5:
        print(1, end=" ")
        display(num + 1)

display(1)
Enter fullscreen mode Exit fullscreen mode

JavaScript Code

function display(num) {
    if (num <= 5) {
        console.log("1 ");
        display(num + 1);
    }
}

display(1);
Enter fullscreen mode Exit fullscreen mode

Java Code

public class Main {
    public static void main(String[] args) {
        display(1);
    }
    public static void display(int num) {
        if (num <= 5) {
            System.out.print(1 + " ");
            display(num + 1);
        }
    }   
}
Enter fullscreen mode Exit fullscreen mode

Output

2. 1 2 3 4 5

Flowchart

Python Code

def display(num):
    if num <= 5:
        print(num, end=" ")   
        display(num + 1)

display(1)
Enter fullscreen mode Exit fullscreen mode

JavaScript Code

function display(num) {
    if (num <= 5) {
        console.log(num + " "); 
        display(num + 1);
    }
}

display(1);
Enter fullscreen mode Exit fullscreen mode

Java Code

public class Main {
    public static void main(String[] args) {
        display(1);
    }

    public static void display(int num) {
        if (num <= 5) {
            System.out.print(num + " ");  
            display(num + 1);
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Output

3) 1 3 5 7 9

Flowchart

Python Code

def display(num):
    if num <= 9:
        print(num, end=" ")
        display(num + 2)   

display(1)
Enter fullscreen mode Exit fullscreen mode

JavaScript Code

function display(num) {
    if (num <= 9) {
        console.log(num + " ");
        display(num + 2);   
    }
}

display(1);
Enter fullscreen mode Exit fullscreen mode

Java Code

public class Main {
    public static void main(String[] args) {
        display(1);
    }

    public static void display(int num) {
        if (num <= 9) {
            System.out.print(num + " ");
            display(num + 2);   
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Output

4. 5 10 15 20 25

Flowchart


Python Code

def display(num):
    if num <= 25:
        print(num, end=" ")
        display(num + 5)   

display(5)
Enter fullscreen mode Exit fullscreen mode

JavaScript Code

function display(num) {
    if (num <= 25) {
        process.stdout.write(num + " ");
        display(num + 5);   
    }
}

display(5);
Enter fullscreen mode Exit fullscreen mode

Java Code

public class Main {
    public static void main(String[] args) {
        display(5);
    }

    public static void display(int num) {
        if (num <= 25) {
            System.out.print(num + " ");
            display(num + 5);   
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Output

5. Factorial

Python Code

def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)

print(factorial(5))
Enter fullscreen mode Exit fullscreen mode

JavaScript Code

function factorial(n) {
    if (n === 1) {
        return 1;
    }
    return n * factorial(n - 1);
}

console.log(factorial(5));
Enter fullscreen mode Exit fullscreen mode

Java Code

public class Main {
    public static void main(String[] args) {
        System.out.println(factorial(5));
    }

    public static int factorial(int n) {
        if (n == 1)
            return 1;
        return n * factorial(n - 1);
    }
}
Enter fullscreen mode Exit fullscreen mode

Output

6. Sum of first n numbers

Python Code

def sum_n(n):
    if n == 1:
        return 1
    return n + sum_n(n - 1)

print(sum_n(5))
Enter fullscreen mode Exit fullscreen mode

JavaScript Code

function sum(n) {
    if (n === 1) {
        return 1;
    }
    return n + sum(n - 1);
}

console.log(sum(5));
Enter fullscreen mode Exit fullscreen mode

Java Code

public class Main {
    public static void main(String[] args) {
        System.out.println(sum(5));
    }

    public static int sum(int n) {
        if (n == 1)
            return 1;
        return n + sum(n - 1);
    }
}
Enter fullscreen mode Exit fullscreen mode

Output

Top comments (0)