您的位置:首页 > 其它

A+B

2014-04-30 18:38 274 查看
去年刚学acm时写了一道大数A+B,现在无聊回头看看发现当时写的太屎太长,所以顺便写个精简点的:

#include<iostream>
#include<cstdio>
using namespace std;
string s1, s2;
int main(){
    while(cin >> s1 >> s2){
        int j = 0;
        if(s1.size() < s2.size()) swap(s1, s2);
        int len1 = s1.size()-1;
        for(int i = s2.size()-1;i >= 0;i --) s1[len1--] += s2[i]-48;
        for(int i = s1.size()-1;i > 0;i --) s2[j++] = (s1[i]-48) % 10, s1[i-1] += (s1[i]-48)/10;
        if(s1[0] <= '9') s2[j] = s1[0]-48;
        else s2[j++] = (s1[0]-48)%10, s2[j] = (s1[0]-48)/10;
        for(int i = j;i >= 0;i--) printf("%d", s2[i]);
        printf("\n");
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: