大概十五年前,曾经写过一个C语言版本的类似代码。核心思想是:在乘法竖式计算过程中,每次的进位实际上是可以超过一位的,虽然老师从来没有这么教过。
这样的操作在Python中是没有必要的,因为Python中的数字没有大小限制。
但在C语言或其他静态类型语言中,由于整型变量能够表示的范围有限,所以无法存储大整数,而不得不借助于数组这样的类型来存储,每个元素存储大整数的一位数字,那么使用数组存储的整数如何进行四则运算呢,就需要用到本文涉及的思想了。
下面给出Python版本的算法实现,使用列表存储大整数,每个元素表示大整数的一位数字:
运行结果如下,说明测试结果正确: