RE求条
查看原帖
RE求条
1674440
liu12131415楼主2025/7/27 09:48
#include<bits/stdc++.h>
using namespace std;
const int maxn=2010;
int n;
char stra[maxn],strb[maxn];
int a[maxn],b[maxn];
void init(){
    cin>>n>>stra>>strb;
    a[0]=strlen(stra);
    for(int i=0;i<a[0];i++){
    	if(stra[a[0]-i]>='0'&&stra[a[0]-i]<='9'){
    		a[i]=stra[a[0]-i]-'0';
		}else{
			a[i]=stra[a[0]-i]-'A'+10;
		}
	}
	b[0]=strlen(strb);
	for(int i=0;i<b[0];i++){
    	if(strb[b[0]-i]>='0'&&strb[b[0]-i]<='9'){
    		b[i]=strb[b[0]-i]-'0';
		}else{
			b[i]=strb[b[0]-i]-'A'+10;
		}
	}
}
void add(int *a,int *b){
	if(a[0]<b[0]) a[0]=b[0];
	for(int i=1;i<=a[0];i++) a[i]+=b[i];
	for(int i=1;i<=a[0];i++){
		a[i+1] +=a[i] / n;
		a[i]%=n;
	}
	if(a[a[0]+1]) a[0]++;
} 
int main(){
	init();
	add(a,b);
	for(int i=a[0];i;i--){
		if(a[i]<10) cout<<a[i];
		else printf("%c",a[i]-10+'A');
	}
	cout<<endl;
}
2025/7/27 09:48
加载中...