题解 | #【模板】高精度加法#

【模板】高精度加法

https://ac.nowcoder.com/acm/problem/226350

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

const int N = 100005;

int a[N],b[N],c[N];//存放两个大数和结果
string s1,s2;//两个大数用字符串形式读入

int main()
{
    cin>>s1>>s2;
    
    int la = s1.size(),lb = s2.size(),lc=max(la,lb)+1;
    //倒着读入并转换成整数
    for(int i = 0;i<la;i++) a[i]=s1[la-i-1]-'0';
    for(int i = 0;i<lb;i++) b[i]=s2[lb-i-1]-'0';
    
    for(int i = 0;i<lc;i++)
    {
         //进位处理
        c[i]+=a[i]+b[i];
        if(c[i]>9)
        {
            c[i+1]+=c[i]/10;
            c[i]%=10;
        }
    }
    //去除前导零
    while(c[lc-1]==0&&lc>1)lc--;
    //倒序输出
    for(int i = lc-1;i>=0;i--)
    {
        cout<<c[i];
    }
    cout<<endl;
    return 0;
}
全部评论

相关推荐

03-12 12:33
嘉应学院 Python
堆肥大王:认可你的做法,但无产阶级的兄弟们也希望你能过的更好
点赞 评论 收藏
分享
零零幺零零幺:至少再做一个项目,然后猛投小厂,不然有点难
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务