Last Updated : 17 Mar, 2025
Given two numbers x and y find the product using recursion.
Examples :
Input : x = 5, y = 2
Output : 10Input : x = 100, y = 5
Output : 500
To find the product of two numbers x and y using recursion, you can use the following approach:
C++Base Case: If y=0, return 0 (since any number multiplied by 0 is 0).
Recursive Case: Add x to result and make a recursive call with y as y-1
Optimization : Since the number of recursive calls is proportional to y and x * y = y * x, we swap x and y if y is larger than x to reduce the number of recursive calls.
// 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));
else
return 0;
}
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));
else
return 0;
}
public static void main (String[] args)
{
int x = 5, y = 2;
System.out.println(product(x, y));
}
}
Python
# 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
x = 5
y = 2
print( product(x, y))
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;
}
public static void Main ()
{
int x = 5, y = 2;
Console.WriteLine(product(x, y));
}
}
JavaScript
// 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;
console.log(product(x, y));
Time Complexity: O(min(x,y))
Auxiliary Space: O(min(x,y)), The extra space is used in the recursive call stack.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4