#include <iostream>
#include <cmath>
#include <string>
using namespace std;
#define h 120
void he(char x[], char y[],char z[])
{
int a = strlen(x), b = strlen(y), c=0, i;
for ( i = 1;i <= a;i++)
{
if (c == 0)
{
if (x[a - i] + y[i] - '0' - '0' > 9)
z[i] = x[a - i] + y[i] - '0' - 10, c = 1;
else z[i] = x[a - i] + y[i] - '0';
}
else
{
if (x[a - i] + y[i] - '0' - '0'+1 > 9)
z[i] = x[a - i] + y[i] - '0' - 10+1;
else z[i] = x[a - i] + y[i] - '0'+1,c=0;
}
}
if (c == 1)
{
for (;i <= h-2;i++)
{
if (c == 1)
{
if (z[i] + 1 - '0' > 9)
z[i] = z[i]+1-10;
else z[i] += 1,c=0;
}
else break;
}
}
}
char a[h], c[h], z[h];
int main()
{
for (int i = 0;i <= h-2;i++)
c[i] = '0', z[i] = '0';
c[h-1] = 0, z[h-1] = 0;
while (cin >> a)
{
if (a[0] == '0')
break;
he(a, c,z);
for (int i = 1;i < h-2;i++)
c[i] = z[i];
}
for (int i = h-2;i != 0;i--)
{
if (z[i] == '0')
z[i] = 0;
else if (z[i] != '0')
break;
}
for (int i = strlen(z)-1;i != 0;i--)
cout << z[i];
cout << endl;
}
高精度的话只要记住了算法,然后根据条件加点很简单的东西就莫得问题了,虽然不知道为什么用哪个环境都过不了,但鉴于共精度加法而言我已经基本用的来,例子也过了,所以就放了。