可以使用递归实现加法和乘法运算。
加法递归: 将两个整数相加的过程可以拆分为先将其中一个数字加1,然后再将相加的两个数字相减,直到其中一个数字减为0,另一个数字即为结果。
代码示例:
def add(x, y):
if y == 0:
return x
else:
return add(x + 1, y - 1)
乘法递归: 将两个整数相乘的过程可以拆分为先将其中一个数字乘2,然后再将相乘的两个数字各自除以2,直到其中一个数字为1,另一个数字即为结果。
代码示例:
def mul(x, y):
if x == 0 or y == 0:
return 0
elif y == 1:
return x
else:
return add(mul(x, y // 2), mul(x, y // 2)) if y % 2 == 0 else add(mul(x, y // 2), mul(x, y // 2)) + x
其中,//
表示整除,%
表示取余。