Leetcode练习,Python:递归类:面试题 08.05. 递归乘法:递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。

题目:

递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。

思路:

递归,思路简单。

程序:

class Solution:

def multiply(self, A: int, B: int) -> int:

A, B = max(A,B), min(A,B)

result = 0

if A == 0:

return 0

elif B == 0:

return 0

else:

result = self.multiply(A,B-1)

result += A

return result