hdu 1002 大数相加

来源:互联网 发布:linux 压缩包 编辑:程序博客网 时间:2024/05/20 04:14

 #include
 #include
 #include
 #define N 1000
 using namespace std;
 
 
 string bigmult(string a,string b)
 {
     intla,lb,lc,i,j,flag;
     stringc="";
     chart;
    i=la=a.length()-1;
    j=lb=b.length()-1;
    flag=0;
    while(i>=0&&j>=0)
    {
        t=a[i]+b[j]+flag-'0';
       if(t>'9') 
        {
           t=t-10;flag=1;
        }
        else flag=0;
        c+=t;
        i--;j--;
    }
    while(i>=0)
    {
        t=a[i]+flag;
        if(t>'9')
        {
           t=t-10;flag=1;
        }
        else flag=0;
        c+=t;
        i--;
    }
    while(j>=0)
    {
        t=b[j]+flag;
        if(t>'9')
        {
           t=t-10;flag=1;
        }
        else flag=0;
        c+=t;
        j--;
    }
    if(flag) c+=(flag+'0');
    lc=c.length();
    for(i=0,j=lc-1;i
    {
        t=c[i];c[i]=c[j];c[j]=t;
    }
     returnc;
 }
 

 
 int main()
 {
     inttest,k=1;
     stringa,b;
    cin>>test;
    while(test--)
    {
        cin>>a>>b;
        cout<<"Case"<<k++<<":"<<endl;
        cout<<a<<" +"<<b<<" = "<<bigmult(a,b)<<endl;
       if(test)cout<<endl;
    }
     return0;
 }

原创粉丝点击