利用堆栈解决大数相加问题

在大数相加的时候,因为像int这样的数据类型有上限,那么如果不用其他超大类型如何实现超大的数字相加减呢,我们可以利用堆栈的特性来是实现,对于堆栈的应用,在大数相加中可以充分利用。

我们可以把int无法表示的大数看成字符串,存储在不同的堆栈中,从堆栈中探出数字执行加减法,那么这个问题就结局了。

伪代码如下:

AddlargeNum()

读取第一个数的各个数字并将他们存储在一个堆栈中;

读取第二个数的各个数字并将他们存储在另一个堆栈中;

result=0;

while至少有一个堆栈不为空

  从每个非空的堆栈中弹出一个数字并将它们加到result中;

将单元部分压入结果栈;

进位存在result中;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值