Program to Find Maximum Number From Array Using Recursion

Program to Find Maximum Number From Array Using Recursion

  • Write a program to Find Maximum Number From Array Using Recursion in C
  • Write a program to Find Maximum Number From Array Using Recursion in C++
  • Write a program to Find Maximum Number From Array Using Recursion in Python
  • Write a program to Find Maximum Number From Array Using Recursion in PHP
  • Write a program to Find Maximum Number From Array Using Recursion in Java
  • Write a program to Find Maximum Number From Array Using Recursion in Java Script
  • Write a program to Find Maximum Number From Array Using Recursion in C#

Explanation:

The idea behind using recursion to discover the greatest number in an array is to divide the problem into smaller subproblems, compare each array element one at a time, and then calculate the maximum of the remaining components.

Logic to Find Maximum Using Recursion

  1. Base Case:
    • If the array has only one element, return that element as the maximum.
  2. Recursive Case:
    • Compare the first element of the array with the maximum of the remaining elements of the array.
    • The result will be the larger of the two.

Recursive Algorithm:

  1. Define a function find_max(array, n) where:
    • array is the array of numbers.
    • n is the size of the array or the current index being processed.
  2. Base Case:
    • If n == 1, return array[0].
  3. Recursive Case:
    • Recursively find the maximum of the remaining array: max_in_rest = find_max(array, n – 1)
    • Compare the last element (array[n – 1]) with max_in_rest.
  4. Return the larger value: return max(array[n – 1], max_in_rest).

Program to Find Maximum Number From Array Using Recursion

#include <stdio.h>

int findMax(int arr[], int n) {
    if (n == 1) {
        return arr[0];
    }
    int max = findMax(arr, n - 1);
    return (arr[n - 1] > max) ? arr[n - 1] : max;
}

int main() {
    int arr[] = {1, 5, 3, 19, 8};
    int n = sizeof(arr) / sizeof(arr[0]);

    printf("Maximum number = %d\n", findMax(arr, n));
    return 0;
}

#include <iostream>
using namespace std;

int findMax(int arr[], int n) {
    if (n == 1) {
        return arr[0];
    }
    int max = findMax(arr, n - 1);
    return (arr[n - 1] > max) ? arr[n - 1] : max;
}

int main() {
    int arr[] = {1, 5, 3, 19, 8};
    int n = sizeof(arr) / sizeof(arr[0]);

    cout << "Maximum number = " << findMax(arr, n) << endl;
    return 0;
}

def find_max(arr, n):
    if n == 1:
        return arr[0]
    max_val = find_max(arr, n - 1)
    return max(arr[n - 1], max_val)

arr = [1, 5, 3, 19, 8]
print("Maximum number =", find_max(arr, len(arr)))

<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"><div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-php"><?php
function findMax($arr, $n) {
    if ($n == 1) {
        return $arr[0];
    }
    $max = findMax($arr, $n - 1);
    return ($arr[$n - 1] > $max) ? $arr[$n - 1] : $max;
}

$arr = array(1, 5, 3, 19, 8);
$n = count($arr);

echo "Maximum number = " . findMax($arr, $n) . "\n";
?>

public class Main {
    public static int findMax(int[] arr, int n) {
        if (n == 1) {
            return arr[0];
        }
        int max = findMax(arr, n - 1);
        return (arr[n - 1] > max) ? arr[n - 1] : max;
    }

    public static void main(String[] args) {
        int[] arr = {1, 5, 3, 19, 8};
        System.out.println("Maximum number = " + findMax(arr, arr.length));
    }
}

function findMax(arr, n) {
    if (n === 1) {
        return arr[0];
    }
    let max = findMax(arr, n - 1);
    return arr[n - 1] > max ? arr[n - 1] : max;
}

const arr = [1, 5, 3, 19, 8];
console.log("Maximum number =", findMax(arr, arr.length));

using System;

class Program {
    static int FindMax(int[] arr, int n) {
        if (n == 1) {
            return arr[0];
        }
        int max = FindMax(arr, n - 1);
        return arr[n - 1] > max ? arr[n - 1] : max;
    }

    static void Main() {
        int[] arr = {1, 5, 3, 19, 8};
        Console.WriteLine("Maximum number = " + FindMax(arr, arr.Length));
    }
}

List of All Programs