如何巧妙运用编程技巧实现海量数字的精确大整数相加?
- 内容介绍
- 文章标签
- 相关推荐
本文共计897个文字,预计阅读时间需要4分钟。
算法题:给你两个非常大的整数(例如100位整数),如何求出它们的和?思路:小学数学加法,逐个位相加。在程序中输出的格式实际上是指的是这种加法运算的表示方式。例如,我们以426709752318和95481为例:
426709752318+ 95481---------
426710707398
这里的格式就是指这种逐位对齐的加法表示方式。
算法题:给你两个很大很大的整数(如100位整数),如何求出它们的和?
思路:小学数学竖式拆分,各个击破。
在程序中列出的 “竖式” 究竟是什么样子呢?我们以 426709752318 +95481253129 为例,来看看大整数相加的详细步骤:
第一步,把整数倒序存储,整数的个位存于数组0下标位置,最高位存于数组长度-1下标位置。之所以倒序存储,更加符合我们从左到右访问数组的习惯。
第二步,创建结果数组,结果数组的最大长度是较大整数的位数+1,原因很明显。
第三步,遍历两个数组,从左到右按照对应下标把元素两两相加,就像小学生计算竖式一样。
本文共计897个文字,预计阅读时间需要4分钟。
算法题:给你两个非常大的整数(例如100位整数),如何求出它们的和?思路:小学数学加法,逐个位相加。在程序中输出的格式实际上是指的是这种加法运算的表示方式。例如,我们以426709752318和95481为例:
426709752318+ 95481---------
426710707398
这里的格式就是指这种逐位对齐的加法表示方式。
算法题:给你两个很大很大的整数(如100位整数),如何求出它们的和?
思路:小学数学竖式拆分,各个击破。
在程序中列出的 “竖式” 究竟是什么样子呢?我们以 426709752318 +95481253129 为例,来看看大整数相加的详细步骤:
第一步,把整数倒序存储,整数的个位存于数组0下标位置,最高位存于数组长度-1下标位置。之所以倒序存储,更加符合我们从左到右访问数组的习惯。
第二步,创建结果数组,结果数组的最大长度是较大整数的位数+1,原因很明显。
第三步,遍历两个数组,从左到右按照对应下标把元素两两相加,就像小学生计算竖式一样。

