Open In App

C# Program to Find Product of 2 Numbers Using Recursion

Last Updated : 19 Oct, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Given two numbers x and y find the product using recursion. Recursion is a process in which a function calls itself directly or indirectly and the corresponding function is known as a recursive function. It is used to solve problems easily like in this article using recursion we will find the product of two numbers.

Examples:

Input  : x = 10, y = 3
Output : 30

Input  : x = 70, y = 4
Output : 280

Approach: 

To print the product of two number using recursion follow the following steps:

  • For our task we have two numbers, i.e., x, y.
  • Initialize a variable result with value zero.
  • Recursively add the x to result for y times.
  • Take the base condition as y == 0. When y is equal to 0 then return from function.
  • At The end of iteration the result variable will contain the product of x, y.

Example: 

C#




// C# program to display the product of 
// two numbers using Recursion 
using System;
  
class GFG{
      
// Recursive function for calculating
// product of two numbers.
static int product(int x, int y)
{
      
    // If y is equal to zero then return 0
    if (y == 0)
        return 0;
  
    // Recursively calculate
    // y times sum of x
    else
        return (x + product(x, y - 1));
}
  
// Driver code
public static void Main ()
{
    int x = 10, y = 3;
      
    Console.Write(product(x, y));
}
}


Output

30

We can optimize this code by swapping the x and y if y is greater than x. Lets us assume that x = 3 and y = 150 if we follow the above program then the x is added recursively 150 times, but by swapping x,y (i.e. x = 150, y = 3) we only need to add x recursively 3 times.

C#




// C# program to display the product of 
// two numbers using Recursion 
using System;
  
class GFG{
      
// Recursive function for calculating
// product of two numbers.
static int product(int x, int y)
{
      
    // If y is equal to zero then return 0
    if (y == 0)
        return 0;
          
    // Recursively calculate
    // y times sum of x
    else
        return(x + product(x, y - 1));
}
  
// Driver code
public static void Main()
{
    int x = 3, y = 150;
      
    // Swapping the x and y if the y > x.
    if (x < y)
        Console.Write(product(y, x));
    else
        Console.Write(product(x, y));
}
}


Output

450


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

Similar Reads