您好,欢迎来到年旅网。
搜索
您的当前位置:首页字符串处理大整数加法的常用思路(乙级pat1074)

字符串处理大整数加法的常用思路(乙级pat1074)

来源:年旅网
#include <iostream>
using  namespace std;
int main(){
    string  s,s1,s2,ans;
    int carry=0,flag=0;
    cin>>s>>s1>>s2;
    ans =s;
    string ss1(s.length()-s1.length(),'0');
    s1 = ss1+s1;
    string ss2(s.length()-s2.length(),'0');
    s2  =ss2+s2;
    for (int i = s.length()-1; i >=0 ; --i) {
        int mod = s[i]=='0'?10:(s[i]-'0');
        ans[i] = (s1[i] - '0' + s2[i] - '0' + carry) % mod + '0';
        carry = (s1[i] - '0' + s2[i] - '0' + carry) / mod;
    }
    if(carry!=0) ans='1'+ans;
    for (int i = 0; i <ans.size() ; ++i) {
        if(ans[i]!='0'||flag==1){
            flag=1;
            cout<<ans[i];
        }
    }
    if(flag==0) cout<<0;
    return 0;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务