Program to Calculate the Power using Recursion

Program to Calculate the Power using Recursion

  • Write a program to Calculate the Power using Recursion in C
  • Write a program to Calculate the Power using Recursion in C++
  • Write a program to Calculate the Power using Recursion in Python
  • Write a program to Calculate the Power using Recursion in PHP
  • Write a program to Calculate the Power using Recursion in Java
  • Write a program to Calculate the Power using Recursion in Java Script
  • Write a program to Calculate the Power using Recursion in C#

Explanation:

Logic to Calculate Power Using Recursion

To calculate the power of a number using recursion, the general idea is to break the problem down into smaller subproblems using the following properties of exponents:

  • Base Case:
    • If the exponent is 0, the result is always 1 (since any number raised to the power of 0 is 1).
  • Recursive Case:
    • If the exponent is greater than 0, we can reduce the exponent by 1 and multiply the base with the result of raising the base to the power of the reduced exponent.

Program to Calculate the Power using Recursion

#include <stdio.h>

int power(int base, int exp) {
    if (exp == 0)
        return 1;  // Base case: any number raised to 0 is 1
    return base * power(base, exp - 1);  // Recursive case
}

int main() {
    int base, exp;
    printf("Enter base: ");
    scanf("%d", &base);
    printf("Enter exponent: ");
    scanf("%d", &exp);

    printf("%d raised to the power of %d is %d\n", base, exp, power(base, exp));
    return 0;
}

#include <iostream>
using namespace std;

int power(int base, int exp) {
    if (exp == 0)
        return 1;  // Base case: any number raised to 0 is 1
    return base * power(base, exp - 1);  // Recursive case
}

int main() {
    int base, exp;
    cout << "Enter base: ";
    cin >> base;
    cout << "Enter exponent: ";
    cin >> exp;

    cout << base << " raised to the power of " << exp << " is " << power(base, exp) << endl;
    return 0;
}

def power(base, exp):
    if exp == 0:
        return 1  # Base case: any number raised to 0 is 1
    return base * power(base, exp - 1)  # Recursive case

base = int(input("Enter base: "))
exp = int(input("Enter exponent: "))

print(f"{base} raised to the power of {exp} is {power(base, exp)}")

<?php
function power($base, $exp) {
    if ($exp == 0)
        return 1;  // Base case: any number raised to 0 is 1
    return $base * power($base, $exp - 1);  // Recursive case
}

echo "Enter base: ";
$base = intval(trim(fgets(STDIN)));
echo "Enter exponent: ";
$exp = intval(trim(fgets(STDIN)));

echo "$base raised to the power of $exp is " . power($base, $exp) . "\n";
?>

import java.util.Scanner;

public class Main {
    public static int power(int base, int exp) {
        if (exp == 0)
            return 1;  // Base case: any number raised to 0 is 1
        return base * power(base, exp - 1);  // Recursive case
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter base: ");
        int base = scanner.nextInt();
        System.out.print("Enter exponent: ");
        int exp = scanner.nextInt();

        System.out.println(base + " raised to the power of " + exp + " is " + power(base, exp));
    }
}

function power(base, exp) {
    if (exp === 0)
        return 1;  // Base case: any number raised to 0 is 1
    return base * power(base, exp - 1);  // Recursive case
}

const base = parseInt(prompt("Enter base:"));
const exp = parseInt(prompt("Enter exponent:"));

console.log(`${base} raised to the power of ${exp} is ${power(base, exp)}`);

using System;

class Program {
    static int Power(int baseVal, int exp) {
        if (exp == 0)
            return 1;  // Base case: any number raised to 0 is 1
        return baseVal * Power(baseVal, exp - 1);  // Recursive case
    }

    static void Main() {
        Console.Write("Enter base: ");
        int baseVal = int.Parse(Console.ReadLine());
        Console.Write("Enter exponent: ");
        int exp = int.Parse(Console.ReadLine());

        Console.WriteLine($"{baseVal} raised to the power of {exp} is {Power(baseVal, exp)}");
    }
}

List of All Programs