hdu1002 求大数和
2017-05-14 11:31
204 查看
#include<iostream> using namespace std; int main() { int t; cin>>t; for(int j=0;j<t;j++) { cout<<"Case "<<j+1<<":"<<endl; string a=""; string b=""; cin>>a>>b; string c; int flag=0; int len=a.length()>b.length()?b.length():a.length();//选最小长度 /*求公共部分和*/ for(int i=a.length()-1,k=b.length()-1,n=0;n<len;i--,k--,n++) { if(a[i]-'0'+b[k]-'0'+flag>9) { c+=(a[i]-'0'+b[k]-'0'+flag)%10+'0'; flag=1; } else{ c+=(a[i]-'0'+b[k]-'0'+flag)+'0'; flag=0; } } //将较长的数字的多余部分加到和中 if(len==b.length()) { for(int i=a.length()-len-1;i>=0;i--) { if(a[i]+flag-'0'>9) { c+='0'; flag=1; }else{ c+=a[i]+flag; flag=0; } } }else if(len==a.length()){ for(int i=b.length()-len-1;i>=0;i--) { if(b[i]+flag-'0'>9) { c+='0'; flag=1; }else{ c+=b[i]+flag; flag=0; } } } else{ } //字符串反转得到结果输出 string sum; for(int i=c.length()-1;i>=0;i--) { sum+=c[i]; } cout<<a<<" + "<<b<<" = "<<sum<<endl; if(j==t-1) { }else{ cout<<endl; } } return 0; }
相关文章推荐
- HDU 1002 --大数问题
- HDU 1002 A + B Problem II(大数相加)
- HDU 1002 A + B Problem II 大数相加
- HDU 1002 A+B Problem II 大数相加
- HDU 1002 大数加法(C语言)
- HDU 1002 A + B Problem II(大数加法,C,Java两个版本)
- 大数加法 hdu 1002
- 杭州电子科技大学(HDU)ACM刷题---------大数相加之1002详解
- hdu1002——A + B Problem II(大数加)
- hdu 1002 大数相加
- HDU1002 大数相加
- hdu1002 A + B Problem II(大数加法一)模板
- hdu1002 大数运算
- HDU 1002 A+BII大数
- HDU 1002 大数问题
- hdu 1002 大数相加
- HDU 1002(大数相加)
- hdu 1002 A + B Problem II 万能大数模板再次成功应用
- hdu1002 大数运算
- hdu1002 A + B Problem II(大数相加)