版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Light2Chasers/article/details/81840607
- problem link:http://poj.org/problem?id=1503
- 大数相加的一个题目。大数从末尾相加,倒序放入结果数组中。经过进制处理和去除多余的零后,正序输出结果数组。
- AC code:
#include<iostream>
using namespace std;
const int N=125;
int sum[N+10],j;string s;
int main(){
ios::sync_with_stdio(false);cin.tie(0);
while(cin>>s){
if(s=="0")break;
int len=s.length();
for(int i=N,j=len-1;j>=0&&i>=0;i--,j--)sum[i]+=s[j]-'0';
}
for(int i=N;i>0;i--)sum[i-1]+=sum[i]/10,sum[i]%=10;
for(;sum[j]==0&&j<=N;j++);
if(j==N+1)cout<<0<<endl;
for(;j<=N;j++)cout<<sum[j];
}