HDU 1002 A + B Problem II
2012-07-16 16:06
218 查看
#include<iostream> #include<algorithm> #include<vector> using namespace std; int main() { int t,i,j,mid; char a[1001],b[1001]; int len1,len2; vector<int> stra; vector<int> strb; vector<int>::iterator it; while(cin>>t&&t!=0) { for(i=0;i<t;i++) { cin>>a>>b; cout<<"Case "<<i+1<<':'<<endl; cout<<a<<" + "<<b<<" = "; len1=strlen(a); len2=strlen(b); /*得到数据,处理成数字*/ for(j=0;j<len1;j++) { mid=a[j]-'0'; stra.push_back(mid); } for(j=0;j<len2;j++) { mid=b[j]-'0'; strb.push_back(mid); } /*数据反序,便于相加进位*/ reverse(stra.begin(),stra.end()); reverse(strb.begin(),strb.end()); /*相加进位*/ if(len1==len2) { for(j=0;j<len1-1;j++) { stra[j]=stra[j]+strb[j]; if(stra[j]>9) { stra[j]%=10; stra[j+1]++; } } stra[len1-1]=stra[len1-1]+strb[len1-1]; if(stra[len1-1]>9) { stra[len1-1]%=10; stra.push_back(1); } reverse(stra.begin(),stra.end()); for(it=stra.begin();it!=stra.end();it++) cout<<*it; } else if(len1>len2) { for(j=0;j<len2;j++) { stra[j]=stra[j]+strb[j]; if(stra[j]>9) { stra[j]%=10; stra[j+1]++; } } for(;j<len1-1;j++) if(stra[j]>9) { stra[j]%=10; stra[j+1]++; } if(stra[len1-1]>9) { stra[len1-1]%=10; stra.push_back(1); } /*反序得出结果*/ reverse(stra.begin(),stra.end()); for(it=stra.begin();it!=stra.end();it++) cout<<*it; } else { for(j=0;j<len1;j++) { strb[j]=strb[j]+stra[j]; if(strb[j]>9) { strb[j]%=10; strb[j+1]++; } } for(;j<len2-1;j++) if(strb[j]>9) { strb[j]%=10 ;strb[j+1]++; } if(strb[len2-1]>9) { strb[len2-1]%=10; strb.push_back(1); } /*反序得出结果*/ reverse(strb.begin(),strb.end()); for(it=strb.begin();it!=strb.end();it++) cout<<*it; } /*清空便于再次使用*/ stra.clear(); strb.clear(); cout<<endl; if(i<t-1) cout<<endl; } } return 0; }
相关文章推荐
- HDU 1002 A + B Problem II
- hdu1002——A + B Problem II
- Hdu - 1002 - A + B Problem II
- HDU--1002 -- A + B Problem II
- hdu 1002 A + B Problem II
- 高精度-HDU-1002-A + B Problem II
- HDU 1002 A + B Problem II
- hdu1002 A + B Problem II
- hdu 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 - A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- hdu1002——A + B Problem II
- hdu1002 大大大整数加法 A + B Problem II
- hdu 1002 A + B Problem II
- HDU 1002 A + B Problem II
- hdu 1002 A + B Problem II
- HDU 1002 A + B Problem II
- hdu 1002 A+B problem II