高精度复习
输入的第一行包含一个整数 T(1<=T<=20),表示测试用例的数量。接下来有 T 行,每行包含两个正整数 A 和 B。注意整数非常大,这意味着您不应该使用 32 位整数来处理它们。您可以假设每个整数的长度不超过 1000。
#include<iostream>
#include<vector>
#include<string>
using namespace std;
vector<int> A, B, C;
int main()
{
int t;
cin >> t;
int cnt = 1;
while(t --)
{
A.clear();
B.clear();
string a, b;
cin >> a >> b;
for(int i = a.size() - 1; i >= 0; i --)
A.push_back(a[i] - '0');
for(int i = b.size() - 1; i >= 0; i --)
B.push_back(b[i] - '0');
C.clear();
for(int i = 0, t = 0; i < A.size() || i < B.size(); i ++)
{
if(i < A.size())
t += A[i];
if(i < B.size())
t += B[i];
C.push_back(t % 10);
t /= 10;
}
cout << "Case " << cnt << ":" << endl;
for(int i = A.size() - 1; i >= 0; i --)
cout << A[i];
cout << " + ";
for(int i = B.size() - 1; i >= 0; i --)
cout << B[i];
cout << " = ";
for(int i = C.size() - 1; i >= 0; i --)
cout << C[i];
cout << endl;
cnt++;
}
return 0;
}