c++ · 高精度加减(大数加减)

一:A+B Problem;

例题:P1601 A+B Problem(高精) - 洛谷

思路:

(1):主函数将两个大数tostring为字符串;

(2):自定义参数为两个字符串的add函数;

(3):初始化结果ans,反转两个字符串;

(4):计算长度差绝对值,并在不够位的字符串中补0,使两个字符串长度相同;

ps:需要用到static_cast()函数,将a.size()和b.size()转化为有符号类型数,因为在c++中,arr.size()返回的是一个无符号整数(是一个类型为size_type的值,该类型通常被定义为size_t,也就是无符号整数类型),也就意味着它不能表示负数!!!更无法进一步用abs求绝对值,所以要进行类型转换防止结果溢出!!

(5):用flag表示进位,初始化为0;

(6):遍历ab字符串的每一位,设置中间值res计算当前位置的和是否大于10;

(7):如果大于十,进行两个操作:

                                                        1.令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值