50分求助!!
查看原帖
50分求助!!
685824
shenyixuan123楼主2023/8/25 18:38

如题

#include <bits/stdc++.h>
using namespace std;
int a[10001],b[10001],c[10001];
int n;
string add(string la,string lb,int n)
{
    string s;
    memset(c,0,sizeof(c));
    int len1=la.size();
    int len2=lb.size();
    int len=max(len1,len2);
    for(int i=0;i<len1;i++) 
	{
		if(la[len1-i-1]>='a'&&la[len1-i-1]<='z') a[len1-i-1]=la[i]-'a'+10;
	    else a[len1-i-1]=la[i]-'0';
	}
    for(int i=0;i<len2;i++) 
	{
	    if(lb[len2-i-1]>='a'&&lb[len2-i-1]<='z') b[len2-i-1]=lb[i]-'a'+10;
	    else b[len2-i-1]=lb[i]-'0';
	}
    int t=0;
    for(int i=0;i<len;i++)
    {
        t+=a[i]+b[i];
        c[i]=t%n;
        t/=n;
    }
    if(t>0) c[len++]=t;
    for(int i=len-1;i>=0;i--)
    {
    	if(c[i]>=10) s+=char(c[i]-10+'a');
        else s+=c[i]+'0';
    }
    return s;
}
int main()
{
    string a,b;
    cin>>n>>a>>b;
    cout<<add(a,b,n)<<endl;
    return 0;
}
2023/8/25 18:38
加载中...