#include <iostream>
#include <string.h>
#define MAX 1005
using namespace std;

char result[MAX];
char a[MAX];
char b[MAX];
int result_size;

void add();

int main()
{
	int n;
	while (cin >> n)
	{
		cin >> result;

		if (n == 1)
		{
			cout << result << endl;
			continue;
		}

		result_size = strlen(result);

		for (int i = 0; i < result_size/2; i++)
			swap(result[i], result[result_size-i-1]);

		for (int i = 1; i < n; i++)
		{
			cin >> b;
			add();
		}

		int begin  = result_size - 1;
		for (int i = result_size-1; i >= 0 && result[begin] == '0'; i--)
			begin = i;

		for (int i = begin; i >= 0; i--)
		    cout << result[i];
		cout << endl;
	}
	return 0;
}

void add()
{
	strcpy(a, result);
	int a_size = strlen(a);
	int b_size = strlen(b);

	result_size = max(a_size, b_size);
	
	for (int i = 0; i < b_size/2; i++)
		swap(b[i], b[b_size-i-1]);

	if (a_size < b_size)
	{
		for (int i = a_size; i < b_size; i++)
			a[i] = '0';
	}

	if (b_size < a_size)
	{
		for (int i = b_size; i < a_size; i++)
			b[i] = '0';
	}

	for (int i = 0; i < result_size; i++)
		result[i] = a[i]-'0'+b[i]-'0';

	int add_num = 0;

	for (int i = 0; i < result_size; i++)
	{
		result[i] = add_num+result[i];
		add_num = result[i]/10;
		result[i] = result[i]%10;
		result[i] += '0';
	}

	if (add_num != 0)
	{
		result[result_size] = add_num+'0';
		result_size++;
	}
    result[result_size] = '\0';
}

相关文章:

  • 2021-09-10
  • 2022-12-23
  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-19
猜你喜欢
  • 2021-09-20
  • 2021-05-25
  • 2021-12-30
  • 2022-12-23
相关资源
相似解决方案