文章

6

粉丝

696

获赞

1

访问

49.2k

头像
大整数为什么一直错误,其他平台可以通过?
择校分析
发布于2021年1月5日 14:27
阅读数 9.8k

#include<iostream>
#include<vector>
using namespace std;
vector<int> sum(vector<int>& a,vector<int>& b)
{
    vector<int> result;
    if(a.size()<b.size()) return sum(b,a);
    int t=0;//进位
    for(int i=0;i<a.size() || t;i++)//a.size() >= b.size()
    {
        if(i<a.size()) t+=a[i];
        if(i<b.size()) t+=b[i];
        result.push_back(t%10);
        t/=10;//更新进位
    }
    return result;
}
int main()
{
    string a,b;
    vector<int> c,d;
    vector<int> result;//存放结果
    cin>>a>>b;
    //按 个位 十位 百位 ...n位 存放
    for(int i=a.size()-1;i>=0;i--) c.push_back(a[i]-'0');//将字符a[i]转换成数值
    for(int i=b.size()-1;i>=0;i--) d.push_back(b[i]-'0');//将字符b[i]转换成数值
    result=sum(c,d);
    for(int i=result.size()-1;i>=0;i--) cout<<result[i];
    return 0;
}

 

登录查看完整内容


登录后发布评论

1 条评论
admin SVIP
2021年1月5日 22:49

看一下其他同学通过的代码,用对数器跑一下wink

赞(0)