99我
查看原帖
99我
1105563
xuyangming楼主2024/8/6 14:55
#include<iostream>
using namespace std;
string w,k;
long long a[100005],b[100005],c[3000],n,m,x,s;
int main()
{
    cin>>s>>w>>k;
    n=w.size();
    m=k.size();
    for (int i=0;i<w.size();i++)
    {
        if (w[w.size()-i-1]>='0'&&w[w.size()-i-1]<='9') 
        {
            a[i+1]=w[w.size()-i-1]-'0';
        }
        else 
        {
            a[i+1]=w[w.size()-i-1]-55;
        }
    }
    for (int i=0;i<k.size();i++)
    {
        if (k[k.size()-i-1]>='0'&&k[k.size()-i-1]<='9') 
        {
            b[i+1]=k[k.size()-i-1]-'0';
        }
        else 
        {
            b[i+1]=k[k.size()-i-1]-55;
        }
    }

    if (a[1]==0&&b[1]==0)
    {
        cout<<0;
        return 0;
    }
    x=max(n,m)+2;
    for (int i=1;i<=x;i++)
    {
        c[i]+=a[i]+b[i];
        c[i+1]+=c[i]/s;
        c[i]%=s;
    }
    for (int i=1;c[x-i+1]==0&&x>0;x--)
    {
        for (int i=x;i>=1;i--)
        {
            if (c[i]<10) 
            {
                cout<<c[i];
            }
            else
            {
                cout<<char(c[i]+55);
            }
        }
    }
    return 0;
}
2024/8/6 14:55
加载中...