| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
被前导0坑死,注意,输入输出都有前导0#include<iostream>
#include<string>
using namespace std;
struct BigInteger{
int data[210];
int length;
};
void Init(BigInteger &a){
for(int i=0;i<210;i++){
a.data[i]=0;
}
a.length=0;
}
BigInteger Add(BigInteger a,BigInteger b){
BigInteger c;
Init(c);
int l=max(a.length,b.length);
c.length=l;
for(int i=0;i<l-1;i++){
c.data[i]+=(a.data[i]+b.data[i]);
if(c.data[i]>=10){
c.data[i+1]++;
c.data[i]%=10;
}
}
c.data[l-1]+=(a.data[l-1]+b.data[l-1]);
if(c.data[l-1]>=10){
c.length++;
c.data[l]++;
c.data[l-1]%=10;
}
return c;
}
void Disp(BigInteger a){
int flag=0;
for(int i=a.length-1;i>=0;i--){
cout<<a.data[i];
}
cout<<endl;
}
int main(){
ios::sync_with_stdio(false);
BigInteger a[200];
BigInteger ans;
for(int i=0;i<200;i++){
Init(a[i]);
}
Init(ans);
string str;
int i=0;
while(cin>>str){
if(str=="0") break;
int l=str.size();
for(int k=0;k<l;k++){
a[i].data[k]=str[l-1-k]-'0';
}
a[i].length=l;
ans=Add(ans,a[i]);
//Disp(ans);
i++;
}
Disp(ans);
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator