C# Program to Find Product of 2 Numbers Using Recursion
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
Please Login to comment...