#include <iostream>
#include <string>
using namespace std;
void func()
{
string s;
char sum[101];
for(int i=0;i<101;i++)
sum[i]='0';
while(cin>>s)
{
if(s=="0")
{
int i=100;
while(sum[i]=='0')i--;
for(;i>=0;i--)
{
cout<<sum[i];
}
cout<<endl;
break;
}
int j=0;
int inc=0;
int i=s.size()-1;
for(;i>=0;i--)
{
int newk=sum[j]-'0'+s[i]-'0'+inc;
inc=newk/10;
sum[j]=newk%10+'0';
j++;
}
while(inc||sum[j]!='0')
{
int newk=sum[j]-'0'+inc;
inc=newk/10;
sum[j]=newk%10+'0';
j++;
}
}
}
int main(int argc, char *argv[])
{
//printf("Hello, world\n");
func();
//system("pause");
return 0;
}
大数加法
-
题目描述:
-
One of the first users of BIT's new supercomputer was Chip Diller.
He extended his exploration of powers of 3 to go from 0 to 333 and he explored taking various sums of those numbers.
"This supercomputer is great,'' remarked Chip.
"I only wish Timothy were here to see these results.''
(Chip moved to a new apartment, once one became available on the third floor of the Lemon Sky apartments on Third Street.)
-
输入:
-
The input will consist of at most 100 lines of text, each of which contains a single VeryLongInteger. Each VeryLongInteger will be 100 or fewer characters in length, and will only contain digits (no VeryLongInteger will be negative).
The final input line will contain a single zero on a line by itself.
-
输出:
-
Your program should output the sum of the VeryLongIntegers given in the input.
-
样例输入:
-
123456789012345678901234567890 123456789012345678901234567890 123456789012345678901234567890 0
-
样例输出:
-
370370367037037036703703703670
-
提示:
-
注意输入数据中,VeryLongInteger 可能有前导0