递归函数
# 加法递归函数 def Add_One_Bit(n): if n == 100: c[n] = a[n] + b[n] else: c[n] = a[n] + b[n] + Add_One_Bit(n + 1) carry = min(max(0, c[n] - 9), 1) c[n] %= 10 return carry # 减法递归函数 def Sub_One_Bit(n): if n == 100: c[n] = a[n] - b[n] else: c[n] = a[n] - b[n] + Sub_One_Bit(n + 1) carry = max(min(0, c[n]), -1) c[n] = (c[n] + 10) % 10 return carry测试部分 使用random随机生产100位的数字,将该数字保存在一个列表中。
if __name__ == '__main__': a = [0] * 101 b = a.copy() c = a.copy() for i in range(1, 101): a[i] = random.randint(0, 9) b[i] = random.randint(0, 9) # Add_One_Bit(0) Sub_One_Bit(0) print(a, b, c, sep="\n")感兴趣可以自己运行一下