recursive function

UpComing SoftWare Training Demos

๐Ÿš€ *Playwright With AI Testing Demo In Telugu*
๐Ÿ—“๏ธ *Date:* 28 Oct2026, 08:00 PM IST
๐Ÿ“ *Register Now!:*
https://www.vlrt.in/3r
๐Ÿ‘ฅ *Join WA Community:*
https://www.vlrt.in/3w
๐Ÿ’ก *Course Content:*
https://www.vlrt.in/3c
โ–ถ๏ธ *Demo Videos:*
https://www.vlrt.in/3v

๐Ÿš€ *Gen AI Engineer (Production Focused)*
๐Ÿ—“๏ธ *Date:* 29th Oct 2026, 06:00PM IST
๐Ÿ“ *Register Now!:*
https://www.vlrt.in/gr
๐Ÿ‘ฅ *Join WA Community:*
https://www.vlrt.in/gw
๐Ÿ’ก*Course Content:*
https://www.vlrt.in/ai
โ–ถ๏ธ *Demo Videos:*
https://www.vlrt.in/gv

๐Ÿš€ *Vulnerability Management Training Demo*
๐Ÿ—“๏ธ *Date:* 28th Oct 2026, 10:00 AM IST
๐Ÿ“*Register Now!:*
https://www.vlrt.in/vr
๐Ÿ‘ฅ *Join Community:*
https://www.vlrt.in/cw
๐Ÿ’ก *Course Content:*
https://www.vlrt.in/vc
โ–ถ๏ธ *Demo Videos:*
https://www.vlrt.in/Vm

A recursive function is a function that calls itself to solve a problem. It works by breaking down a larger problem into smaller, identical subproblems until it reaches a base case, which is a condition that stops the recursion and provides a solution to the simplest subproblem.

The two main components of a recursive function are:

  • Base Case: The condition that terminates the recursion. Without a base case, the function would call itself indefinitely, leading to an infinite loop and eventually a stack overflow error.
  • Recursive Step: The part of the function where it calls itself with a modified input, moving closer to the base case.

Example: Factorial

A classic example of recursion is calculating the factorial of a number. The factorial of a non-negative integer n, denoted by n, is the product of all positive integers less than or equal to n.

The mathematical definition is: n=ntimes(nโˆ’1)times(nโˆ’2)timesdotstimes1 with the base case: 0=1

Here’s how a recursive factorial function can be implemented in Python:

Python

def factorial(n):
    # Base case: if n is 0 or 1, the factorial is 1
    if n == 0 or n == 1:
        return 1
    # Recursive step: call the function with n-1
    else:
        return n * factorial(n - 1)

# Example usage:
print(factorial(5))

In this example, when factorial(5) is called, it recursively calls factorial(4), which calls factorial(3), and so on, until it reaches the base case factorial(1). Then, the results are returned up the call stack to calculate the final answer.

  • factorial(5) returns 5 * factorial(4)
  • factorial(4) returns 4 * factorial(3)
  • factorial(3) returns 3 * factorial(2)
  • factorial(2) returns 2 * factorial(1)
  • factorial(1) returns 1 (Base Case)

Finally, the calculations are completed: 2 * 1 = 2 3 * 2 = 6 4 * 6 = 24 5 * 24 = 120

Advantages and Disadvantages

Advantages:

  • Elegance and readability: Recursive solutions can be more intuitive and cleaner for problems that are inherently recursive (e.g., tree traversals, fractal generation).
  • Reduced code: They often require less code compared to iterative solutions.

Disadvantages:

  • Memory usage: Each recursive call adds a new stack frame to the memory. Deep recursion can lead to a “stack overflow” error.
  • Performance: Recursive functions can be slower than their iterative counterparts due to the overhead of function calls.

Fibonacci Sequence

The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones, usually starting with 0 and 1.

Python

def fibonacci(n):
    # Base cases: The first two numbers in the sequence.
    if n <= 1:
        return n
    # Recursive step: The sum of the previous two numbers.
    else:
        return fibonacci(n-1) + fibonacci(n-2)

# Example:
# The 7th Fibonacci number (index 6) is 8.
print(fibonacci(6))  # Output: 8

Sum of Natural Numbers

This function calculates the sum of all natural numbers up to a given number n.

Python

def sum_of_numbers(n):
    # Base case: The sum of 1 is 1.
    if n <= 1:
        return n
    # Recursive step: The sum is n plus the sum of all numbers up to n-1.
    else:
        return n + sum_of_numbers(n-1)

# Example:
# Sum of 1 to 5 is 15 (1+2+3+4+5).
print(sum_of_numbers(5))  # Output: 15

Palindrome Checker

A palindrome is a word, phrase, number, or other sequence of characters that reads the same forward and backward. This function checks if a string is a palindrome.

Python

def is_palindrome(s):
    # Base case: An empty string or a single-character string is a palindrome.
    if len(s) <= 1:
        return True
    # Recursive step: Compare the first and last characters and check the inner string.
    else:
        if s[0] == s[-1]:
            return is_palindrome(s[1:-1])
        else:
            return False

# Examples:
print(is_palindrome("racecar"))  # Output: True
print(is_palindrome("hello"))   # Output: False

Similar Posts

  • How to Use Pythonโ€™s Print Function and Avoid Syntax and Indentation Errors

    1. Print Output to Console and String Manipulation Tips for the print() Function What is the print() Function? The print() function in Python is used to display output to the console. It is one of the most commonly used functions, especially for debugging and displaying results. Basic Usage Output: String Manipulation Tips for print() 1….

  • Combined Character Classes

    Combined Character Classes Explained with Examples 1. [a-zA-Z0-9_] – Word characters (same as \w) Description: Matches any letter (lowercase or uppercase), any digit, or underscore Example 1: Extract all word characters from text python import re text = “User_name123! Email: test@example.com” result = re.findall(r'[a-zA-Z0-9_]’, text) print(result) # [‘U’, ‘s’, ‘e’, ‘r’, ‘_’, ‘n’, ‘a’, ‘m’, ‘e’, ‘1’, ‘2’,…

  • Raw Strings in Python

    Raw Strings in Python’s re Module Raw strings (prefixed with r) are highly recommended when working with regular expressions because they treat backslashes (\) as literal characters, preventing Python from interpreting them as escape sequences. path = ‘C:\Users\Documents’ pattern = r’C:\Users\Documents’ .4.1.1. Escape sequences Unless an ‘r’ or ‘R’ prefix is present, escape sequences in string and bytes literals are interpreted according…

  • Vs code

    What is VS Code? ๐Ÿ’ป Visual Studio Code (VS Code) is a free, lightweight, and powerful code editor developed by Microsoft. It supports multiple programming languages (Python, JavaScript, Java, etc.) with: VS Code is cross-platform (Windows, macOS, Linux) and widely used for web development, data science, and general programming. ๐ŸŒ๐Ÿ“Šโœ๏ธ How to Install VS Code…

  • Theย Fractions module

    The Fractions module in Python is a built-in module that provides support for rational number arithmetic. It allows you to work with fractions (like 1/2, 3/4, etc.) exactly, without the precision issues that can occur with floating-point numbers. What Problems Does It Solve? Problem with Floating-Point Numbers: python # Floating-point precision issue print(0.1 + 0.2) # Output:…

  • re.split()

    Python re.split() Method Explained The re.split() method splits a string by the occurrences of a pattern. It’s like the built-in str.split() but much more powerful because you can use regex patterns. Syntax python re.split(pattern, string, maxsplit=0, flags=0) Example 1: Splitting by Multiple Delimiters python import retext1=”The re.split() method splits a string by the occurrences of a pattern. It’s like…

Leave a Reply

Your email address will not be published. Required fields are marked *