洛谷P1601 A+B Problem 高精

题目传送门

代码:

#include<bits/stdc++.h>

using namespace std;
#define MAXN 10005
int a[MAXN];
int b[MAXN];
int ans[MAXN];

void input_data(int *c,string str)
{
    int len = str.length();
    for(int i=0; i<len; i++)
    {
        c[len-i-1] = str[i] - '0';
    }
    return ;
}
void add()
{
    int p=0,q;
    for(int i=0; i<MAXN; i++)
    {
        ans[i] = a[i] + b[i] + p;
        q = ans[i] % 10;
        p = ans[i] / 10;
        ans[i] = q;
    }
    bool flag = false;
    for(int i=MAXN-1; i>=0; i--)
    {
        if(ans[i] != 0)
        {
            flag = true;
        }
        if(flag)
        {
            cout<<ans[i];
        }
    }
    return ;
}
int main()
{
    string str1,str2;
    cin>>str1>>str2;
    if(str1=="0" && str2=="0")
    {
        cout<<0;
        return 0;
    }
    input_data(a,str1);
    input_data(b,str2);
    add();
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_38851184/article/details/108808013