首页 > 其他 > 详细

hdu1002

时间:2014-10-21 21:32:22      阅读:240      评论:0      收藏:0      [点我收藏+]

题目意思:计算两个大整数的和

http://acm.hdu.edu.cn/showproblem.php?pid=1002


AC代码:

#include<iostream>
#include<string>
using namespace std;
string add(string s1,string s2){//字符串模拟大数加法,
    string s;
    int len1,len2;
    len1=s1.size()-1; len2=s2.size()-1;
    int i=0,flag=0;
    while(len1>-1&&len2>-1){
        int sum=flag+(s1[len1--]-‘0‘)+(s2[len2--]-‘0‘);
        s+=char ((sum)%10+‘0‘);
        flag=sum/10;
    }
    while(len1>-1){
        int sum=flag+(s1[len1--]-‘0‘);
        s+=char ((sum)%10+‘0‘);
        flag=sum/10;
    }
    while(len2>-1){
        int sum=flag+(s2[len2--]-‘0‘);
        s+=char ((sum)%10+‘0‘);
        flag=sum/10;
    }
    if(flag) s+=char (‘0‘+flag);
    //cout<<s<<endl;
    for(int i=0;i<s.size()/2;i++){
        char c=s[i];
        s[i]=s[s.size()-i-1];
        s[s.size()-i-1]=c;
    }
    return s;
}
int main()
{
    int t,k=0;
    string a,b;
    cin>>t;
    while(t--){
        cin>>a>>b;
        cout<<"Case "<<++k<<":"<<endl;
        cout<<a<<" + "<<b<<" = "<<add(a,b)<<endl;
        if(t) cout<<endl;
    }
    return 0;
}

hdu1002

原文:http://blog.csdn.net/fool_ran/article/details/40351181

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!