What is Recursion ?
Recursion is when a function calls itself to solve a problem.
Every recursion has 2 mandatory parts:
- Base Case (Stopping condition)
If you donβt have this β your program will crash (infinite recursion)
- Recursive Call
Function calls itself with a smaller/simpler input
Examples:
1.1 2 3 4 5
flowchart:
-In python :
def display(num):
if num > 5:
return
print(num)
display(num + 1)
display(1)
output:
class Main {
static void display(int num) {
if (num > 5) {
return;
}
System.out.println(num);
display(num + 1);
}
public static void main(String[] args) {
display(1);
}
}
-In Javascript:
function display(num) {
if (num > 5) return;
console.log(num);
display(num + 1);
}
display(1);
2.1 3 5 7 9 :
flow chart:
- In python:
def display(num):
if num > 9:
return
print(num)
display(num + 2)
display(1)
output:
- In Java :
class Main {
static void display(int num) {
if (num > 9) {
return;
}
System.out.println(num);
display(num + 2);
}
public static void main(String[] args) {
display(1);
}
}
-In Javascript:
function display(num) {
if (num > 9) return;
console.log(num);
display(num + 2);
}
display(1);
3.5 10 15 20 25 :
flow chart :
- In python:
def display(num):
if num > 25:
return
print(num)
display(num + 5)
display(5)
output:
- In Java :
class Main {
static void display(int num) {
if (num > 25) {
return;
}
System.out.println(num);
display(num + 5);
}
public static void main(String[] args) {
display(5);
}
}
-In Javascript:
function display(num) {
if (num > 25) return;
console.log(num);
display(num + 5);
display(5);
4.Factorial:
- In python:
def fact(num, result=1):
if num > 5:
return result
result *= num
return fact(num + 1, result)
print("The factorial of given number:", fact(1))
- In Java :
public class Main {
static int fact(int num, int result) {
if (num > 5) {
return result;
}
result *= num;
return fact(num + 1, result);
}
public static void main(String[] args) {
System.out.println("The factorial of given number: " + fact(1, 1));
}
}
-In Javascript:
function fact(num, result = 1) {
if (num > 5) {
return result;
}
result *= num;
return fact(num + 1, result);
}
console.log("The factorial of given number:", fact(1));
- Sum of n numbers :
- In python:
def sum_n(num, total=0):
if num > 5:
return total
total += num
return sum_n(num + 1, total)
print("Sum:", sum_n(1))
- In Java :
class Main {
static int sumN(int num, int total) {
if (num > 5) {
return total;
}
total += num;
return sumN(num + 1, total);
}
public static void main(String[] args) {
System.out.println("Sum: " + sumN(1, 0));
}
}
-In Javascript:
function sumN(num, total = 0) {
if (num > 5) return total;
total += num;
return sumN(num + 1, total);
}
console.log("Sum:", sumN(1));






Top comments (0)