Recursive Multiply
int rec_mult(int a, int b, int sol, int count) {
if (count >= abs(min(a, b))) {
bool neg = (a < 0 ^ b < 0);
if (neg) return (-sol);
return sol;
}
return rec_mult(a, b, sol + abs(max(a, b)), ++count);
}
int mult(int a, int b) {
return rec_mult(a, b, 0, 0);
}
int main() {
cout << mult(10, 3) << endl;
cout << mult(2, -3) << endl;
cout << mult(23, -10) << endl;
cout << mult(-500, 0) << endl;
cout << mult(10, -1) << endl;
}Last updated