在大数相加的时候,因为像int这样的数据类型有上限,那么如果不用其他超大类型如何实现超大的数字相加减呢,我们可以利用堆栈的特性来是实现,对于堆栈的应用,在大数相加中可以充分利用。
我们可以把int无法表示的大数看成字符串,存储在不同的堆栈中,从堆栈中探出数字执行加减法,那么这个问题就结局了。
伪代码如下:
AddlargeNum()
读取第一个数的各个数字并将他们存储在一个堆栈中;
读取第二个数的各个数字并将他们存储在另一个堆栈中;
result=0;
while至少有一个堆栈不为空
从每个非空的堆栈中弹出一个数字并将它们加到result中;
将单元部分压入结果栈;
进位存在result中;