递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。
示例1:
输入:A = 1, B = 10
输出:10
示例2:
输入:A = 3, B = 4
输出:12
提示:
保证乘法范围不会溢出
class Solution {
public:
int multiply(int A, int B) {
int Min = min(A, B);
int Max = max(A, B);
if (Min == 0) return 0;
//Min * Max = (Min - 1 + 1) * Max = (Min - 1) * Max + Max;
return multiply(Min-1, Max) + Max;
}
};