高精度加减法
概念
如果有一道题目,要求你求两个数的和,但是每个数可能有1000位那么大,简简单单a+b肯定是做不到的,因为long long最多也只支持19位大小。这个时候就要使用高精度的运算,定义string类型的变量做加减法。
例题
①A+B
题目
题目描述:
给你两个十进制数,数位最多有1000位,求他们的和
输入格式:
第一行输入一个整数
第二行输入一个整数
输出格式:
输出一个整数
样例输入:
12312312312142343254354354
4124354364565765456
样例输出:
12312316436496707820119810
约定:
A,B都是正数
分析
题目看着非常简单,但是看到数据范围心慌慌了吧~
这里可以将每个加数看作一个字符串。我们做加法竖式时是数位对齐的,并且是从后面开始对齐,而计算机时从前往后读入字符串的,这样就会将最高位对齐,这并不是我们想要的。
我们可以定义三个数组,分别存放第一个加数的每一位,第二个加数的每一位与和的每一位,从后往前读入数据存放进数组,输出结果的时候只用倒着输出就可以啦~