高精度基础2:a-b问题

专题链接:高精度题表  

题目传送门

题目大意:

1、给出两个大整数a,b,求a=b;

2、保证 a>b;

====================================================================

详细分析:

1、读入+存储+逆序对齐

1.1 用  s [   ]  数组来存储第一个字符串

1.2 将 s [   ]  数组的 字符串,逆序放入 a [   ] 数组中,以第一位作为个位,翻转对齐,方便运算;

1.3 重复利用 s [   ]  数组来存储第二个字符串

1.4 将 s [   ]  数组的 字符串,逆序放入 b [   ] 数组中,以第一位作为个位,翻转对齐,方便运算;

1.5 到这个时候,我们得到了 a [   ] b [   ] 两个数组,分别存储了两个将要计算的整数(其实是两个序列)

1.6 分别用变量 nanb 来记录每个序列的长度(这个数有多少位),na=9nb=8

2、模拟竖式计算:

2.1 因为全部数字是翻转的,所以个位在左边,最高位在右边:

2.2 对 a [   ]b [   ] 的各数位分别求差,直接存储到 c [   ] 数组中:

2.3 对 c [   ] 数组:从左向右,依次借位,得到新的 c [   ] 数组:

3、反向逐位输出:

3.1 因为数位对齐,从个位开始,所以要反向输出。

===========================================================================================

思路看懂了吗?别着急,还有很多细节处理要学习,下面是代码和解释

猜你喜欢

转载自blog.csdn.net/liusu201601/article/details/83054406