题目链接 #include<cstdio> #include<cstring> #include<cctype> const int N=2e5+10; int base; int a[N],b[N],c[N]; char s[N]; void add() { int i=0; while(i<=a[0]||i<=b[0]) { i++;c[i]+=a[i]+b[i];c[i+1]+=c[i]/base;c[i]%=base; } while(c[i]==0&&i>1)i--; c[0]=i; } int main() { scanf("%d",&base); scanf("%s",s); int len=strlen(s),k=0,i; for(i=len-1;i>=0;i--) if(isupper(s[i]))a[++k]=s[i]-'A'+10; else a[++k]=s[i]-'0'; a[0]=k; scanf("%s",s); len=strlen(s),k=0; for(i=len-1;i>=0;i--) if(isupper(s[i]))b[++k]=s[i]-'A'+10; else b[++k]=s[i]-'0'; b[0]=k; add(); for(i=c[0];i;i--) if(c[i]<10)printf("%d",c[i]); else printf("%c",(char)(c[i]+'A'-10)); return 0; }