pku2845.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 55 行

CPP
55
字号
#include <stdio.h>

int main()
{
	char a[90], b[90];
	int T, i, j, t, la, lb, s[90], ls;
	scanf("%d", &T);
	for (t = 1; t <= T; t++)
	{
		scanf("%s%s", a, b);
		for (i = 0; i < 90; i++)
		{
			s[i] = 0;
		}
		la = strlen(a);
		lb = strlen(b);

		for (i = 1; i <= la && i <= lb; i++)
		{
			s[i - 1] += a[la - i] - '0' + b[lb - i] - '0';
			s[i] += s[i - 1] / 2;
			s[i - 1] = s[i - 1] % 2;
		}
		while (i <= la)
		{
			s[i - 1] += a[la - i] - '0';
			s[i] += s[i - 1] / 2;
			s[i - 1] = s[i - 1] % 2;
			i++;
		}
		while (i <= lb)
		{
			s[i - 1] += b[lb - i] - '0';
			s[i] += s[i - 1] / 2;
			s[i - 1] = s[i - 1] % 2;
			i++;
		}
		printf("%d ", t);
		for (ls = 89; ls > 0; ls--)
		{
			if (s[ls] != 0)
			{
				break;
			}
		}
		for (i = ls; i >= 0; i--)
		{
			printf("%d", s[i]);
		}
		printf("\n");
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?