Open In App

Product of 2 Numbers using Recursion

Last Updated : 20 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Given two numbers x and y find the product using recursion.

Examples : 

Input : x = 5, y = 2
Output : 10

Input : x = 100, y = 5
Output : 500

Method 
1) If x is less than y, swap the two variables value 
2) Recursively find y times the sum of x 
3) If any of them become zero, return 0 

C++




// C++ Program to find Product 
// of 2 Numbers using Recursion
#include <bits/stdc++.h>
using namespace std;
  
// recursive function to calculate
// multiplication of two numbers
int product(int x, int y)
{
    // if x is less than 
    // y swap the numbers
    if (x < y)
        return product(y, x);
  
    // iteratively calculate 
    // y times sum of x
    else if (y != 0)
        return (x + product(x, y - 1));
  
    // if any of the two numbers is 
    // zero return zero
    else
        return 0;
}
  
// Driver Code
int main()
{
    int x = 5, y = 2;
    cout << product(x, y);
    return 0;
}


Java




// Java Program to find Product
// of 2 Numbers using Recursion
import java.io.*;
import java.util.*;
  
class GFG 
{
      
    // recursive function to calculate 
    // multiplication of two numbers
    static int product(int x, int y)
    {
        // if x is less than 
        // y swap the numbers
        if (x < y)
            return product(y, x);
      
        // iteratively calculate 
        // y times sum of x
        else if (y != 0)
            return (x + product(x, y - 1));
      
        // if any of the two numbers is 
        // zero return zero
        else
            return 0;
    }
      
    // Driver Code
    public static void main (String[] args)
    {
        int x = 5, y = 2;
        System.out.println(product(x, y)); 
    }
}
  
// This code is contributed by Gitanjali.


Python3




# Python3 to find Product of
# 2 Numbers using Recursion
  
# recursive function to calculate
# multiplication of two numbers 
def product( x , y ):
    # if x is less than y swap
    # the numbers
    if x < y:
        return product(y, x)
      
    # iteratively calculate y
    # times sum of x
    elif y != 0:
        return (x + product(x, y - 1))
      
    # if any of the two numbers is
    # zero return zero
    else:
        return 0
  
# Driver code
x = 5
y = 2
print( product(x, y))
  
# This code is contributed
# by Abhishek Sharma44.


C#




// C# Program to find Product
// of 2 Numbers using Recursion
using System;
  
class GFG 
{
      
    // recursive function to calculate 
    // multiplication of two numbers
    static int product(int x, int y)
    {
        // if x is less than 
        // y swap the numbers
        if (x < y)
            return product(y, x);
      
        // iteratively calculate 
        // y times sum of x
        else if (y != 0)
            return (x + product(x, y - 1));
      
        // if any of the two numbers is 
        // zero return zero
        else
            return 0;
    }
      
    // Driver code
    public static void Main ()
    {
        int x = 5, y = 2;
        Console.WriteLine(product(x, y)); 
    }
}
  
// This code is contributed by vt_m.


PHP




<?php
// PHP Program to find Product 
// of 2 Numbers using Recursion
  
// recursive function to calculate
// multiplication of two numbers
function product($x, $y)
{
    // if x is less than  
    // y swap thenumbers
    if ($x < $y)
        return product($y, $x);
  
    // iteratively calculate 
    // y times sum of x
    else if ($y != 0)
        return ($x + product($x, $y - 1));
  
    // if any of the two numbers is 
    // zero return zero
    else
        return 0;
}
  
// Driver Code
$x = 5; $y = 2;
echo(product($x, $y));
  
// This code is contributed by Ajit.
?>


Javascript




<script>
// JavaScript program to find Product 
// of 2 Numbers using Recursion
  
// recursive function to calculate
// multiplication of two numbers
function product(x, y)
{
    // if x is less than  
    // y swap thenumbers
    if (x < y)
        return product(y, x);
  
    // iteratively calculate 
    // y times sum of x
    else if (y != 0)
        return (x + product(x, y - 1));
  
    // if any of the two numbers is 
    // zero return zero
    else
        return 0;
}
  
// Driver Code
let x = 5;
let y = 2;
document.write(product(x, y));
  
// This code is contributed by mohan.
  
</script>


Output

10

Time Complexity: O(min(x,y))
Auxiliary Space: O(min(x,y)), The extra space is used in the recursive call stack.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads