题解 | #a+b#

a+b

https://www.nowcoder.com/practice/4c39c984ea3848b48e111b8e71ec1dd4

#include  <bits/stdc++.h>
/*
 * 高精度算法
 */
using namespace std;
int main()
{
    string s1,s2="";
    int a1[10000]={0},a2[10000]={0},a3[10000]={0};
//    scanf("%s%s",s1.c_str(),s2.c_str());
//    getline(cin,s1);
    cin>>s1;
    cin>>s2;
//    getline(cin,s2);
    for (int i = 0; i < s1.size(); ++i) {
        a1[s1.size()-i-1]=s1[i]-'0';
    }
    for (int i = 0; i < s2.size(); ++i) {
        a2[s2.size()-i-1]=s2[i]-'0';
    }
    int len=s1.size();
    if (s2.size()>s1.size())
    {
        len=s2.size();
    }
    for (int i = 0; i < len; ++i) {
        a3[i]=a1[i]+a2[i];
    }
    for (int i = 0; i < len; ++i) {
        if (a3[i]>=10)
        {
            a3[i+1]=a3[i+1]+a3[i]/10;
            a3[i]=a3[i]%10;
        }
    }
    if (a3[len]!=0)
    {
        len++;
    }
    for (int i = len-1; i >=0 ; --i) {
        cout<<a3[i];
    }
}

全部评论

相关推荐

05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
自由水:这HR已经很好了,多的是已读不回和不读了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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