数组表示的数字以这样的形式存储:该数字的每个数字都由数组的一个元素表示。例如,
Number 234 in array is {2,3,4}.
登录后复制
为了增加这些数字,我们首先会在最低位数上相加数字,如果和大于10,则传递进位。在此之后,我们将继续对数组的下一个连续数字执行相同的过程并求和。
让我们来举个例子,添加两个数字 -
a = {2,9, 6}
b = {6, 3, 8}
Output: 934
登录后复制
Explanation − 我们将添加数字的最低有效位,即 6+8 = 14,这将传播一个进位,然后对于相同的 9+3+1 = 13,这将再次传播进位到下一个数字。下一个数字的和将是 2+6+1 = 9。这将使得和为 934。
Algorithm
为了找到以数组形式存储的数字的和。我们首先检查是否有任何一个数字具有更多的位数。如果是,则我们将找到较小数字的位数之和,然后再添加较大数字的位数。
此外,我们将检查一个进位数字,它将跟踪可能在和中出现的进位,并需要转发,初始值为零,并在每次求和迭代之前将其置零。我们将逐个找到数字的和并将其存储到数组中,然后打印它。
Example
Live Demo
#include
using namespace std;
int Sum(int a[], int b[], int n, int m){
int sum[n];
int i = n - 1, j = m - 1, k = n - 1;
int c = 0, s = 0;
while (j >= 0) {
s = a[i] + b[j] + c;
sum[k] = (s % 10);
c = s / 10;
k--;
i--;
j--;
}
while (i >= 0) {
s = a[i] + c;
sum[k] = (s % 10);
c = s / 10;
i--;
k--;
}
for (int i = 0; i