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.