...
/Multiplication Without Using * Operator
Multiplication Without Using * Operator
Use Recursion to multiply two numbers without using the * operator.
We'll cover the following...
Problem statement
In this problem, we need to find the result of the multiplication of two numbers, a
and b
but without using *
operator. This looks like a pretty simple problem. We can easily iterate a loop from 1
to b
and add a
to our result. But there is a catch: you need to write a solution with a Recursive approach.
Implementation
Let’s write the solution first, and then visualize how recursion is working.
Press + to interact
#include <iostream>using namespace std;int prod(int a , int b){if(b==0){return 0;}else if(b==1){return a;}else if(b>0){return a + prod(a,b-1);}else {return -prod(a,-b);}}int main() {int a = 2, b = -3;cout << prod(a,b);return 0;}
Explanation:
- On line 4, we define our recursive function
prod()
. - On line 5, we check for the base case as