70求调
  • 板块P1604 B进制星球
  • 楼主YZHM
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/1/18 00:10
  • 上次更新2024/1/18 12:12:31
查看原帖
70求调
1015379
YZHM楼主2024/1/18 00:10
#include <bits/stdc++.h>
using namespace std;
int dp;
string g="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int a[2005]={0},b[2005]={0},c[2005]={0};
void f(int a[]){
	string s;
	cin >>s;
	a[0]=s.size();
	for(int i=1;i<=a[0];i++){
		if(s[i-1]>='0'&&s[i-1]<='9'){
			a[i]=s[a[0]-i]-'0';
		}
		else if(s[i-1]>='A'&&s[i-1]<='Z'){
			a[i]=s[a[0]-i]-'A'+10;
		}
	}
}
void add(int a[],int b[],int c[],int jz){
	int i=1,x=0;
	while(i<=a[0]||i<=b[0]){
		c[i]=a[i]+b[i]+x;
		x=c[i]/jz;
		c[i]%=jz;
		i++;
	}
	c[i]=x;
	if(c[i]!=0)c[0]=i;
	else c[0]=--i;
}
int main(){

	cin >>dp;//进制
	f(a);
	f(b);
	add(a,b,c,dp);
	for(int i=c[0];i>0;i--){
		cout << g[c[i]];
	}	
	return 0;
} 
2024/1/18 00:10
加载中...