大整数模拟加(字符串)

大整数加法:

两个步骤:①字符串从最后一位加,②从后往前循环,大于10进1;

模板代码:

string add1(string s1,string s2)
{
    if(s1==""&&s2=="")return "0";
    else if(s1=="")return s2;
    else if(s2=="")return s1;

    string maxs=s1,mins=s2;
    if(s1.length()<s2.length()){
        maxs=s2;
        mins=s1;
    }
    int a=maxs.length()-1,b=mins.length()-1;
    for(int i=b;i>=0;i--)
        maxs[a--]+=mins[i]-'0';
    for(int i=maxs.length()-1;i>0;i--)
        if(maxs[i]>'9')
        {
            maxs[i]-=10;
            maxs[i-1]++;
        }
    if(maxs[0]>'9')
    {
        maxs[0]-=10;
        maxs='1'+maxs;
    }
    return maxs;
}
posted @ 2017-04-10 22:33  猪肛鬣  阅读(134)  评论(0)    收藏  举报