题解
2023-02-15 17:12:28
发布于:广东
110阅读
0回复
0点赞
add函数里 a,b为加数,n是进制
#include<bits/stdc++.h>
using namespace std;
string add(string as,string bs,int n){
char t[37];
int a[10010]={},b[10010]={},c[10010]={};
for(int i=0;i<37;i++) t[i]=i>9 ? i-10+'A' : i+'0';
for(int i=0;i<as.size();i++)a[as.size()-1-i]=isdigit(as[i]) ? as[i]-'0' : as[i]-'A'+10;
for(int i=0;i<bs.size();i++)b[bs.size()-1-i]=isdigit(bs[i]) ? bs[i]-'0' : bs[i]-'A'+10;
int l=max(as.size(),bs.size());
for(int i=0;i<l;i++){
c[i]+=a[i]+b[i];
c[i+1]+=c[i]/n;
c[i]%=n;
}
c[l]?l++:l=l+0;
stringstream str;
for(int i=l-1;~i;i--)str<<t[c[i]];
return str.str();
}
int main(){
string a,b;
cin>>a>>b;
cout<<add(a,b,10);
}
这里空空如也
有帮助,赞一个