Given two numbers N and M. The task is to find the product of the 2 numbers using recursion.
Note: The numbers can be both positive or negative.
Input : N = 5 , M = 3 Output : 15 Input : N = 5 , M = -3 Output : -15 Input : N = -5 , M = 3 Output : -15 Input : N = -5 , M = -3 Output:15
A recursive solution to the above problem for only positive numbers is already discussed in the previous article. In this post, a recursive solution for finding the product for both positive and negative numbers is discussed.
Below is the step by step approach:
- Check if one or both of the numbers are negative.
- If the number passed in the second parameter is negative swap the parameters and call the function again.
- If both of the parameters are negative call the function again and pass the absolute values of the numbers as parameters.
- If n>m call the function with swapped parameters for less execution time of the function.
- As long as m is not 0 keep on calling the function with subcase n, m-1 and return n + multrecur(n, m-1).
Below is the implementation of the above approach:
5 * 3 = 15 5 * (-3) = -15 (-5) * 3 = -15 (-5) * (-3) = 15
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Product of 2 Numbers using Recursion
- Sum of natural numbers using recursion
- Print numbers 1 to N using Indirect recursion
- Numbers less than N which are product of exactly two distinct prime numbers
- Number of divisors of product of N numbers
- Check if N can be expressed as product of 3 distinct numbers
- Find maximum product of digits among numbers less than or equal to N
- Program for dot product and cross product of two vectors
- Sum of the series 1^1 + 2^2 + 3^3 + ..... + n^n using recursion
- Find the value of ln(N!) using Recursion
- Tail Recursion
- Sum of digit of a number using recursion
- Program to Calculate e^x by Recursion
- Reversing a queue using recursion
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.