求帮助
  • 板块P1604 B进制星球
  • 楼主sLMxf
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/11/7 20:04
  • 上次更新2023/10/27 03:54:17
查看原帖
求帮助
752953
sLMxf楼主2022/11/7 20:04
#include<bits/stdc++.h>
using namespace std;
int a[2001],b[2001],c[2002];
#define rep(i,n) for(int i=1;i<=n;i++)
int change1(char x)
{
	if('0'<=x&&x<='9') return x-'0';
	else return x-'A'+10;
}
char change2(int x)
{
	if(x<10) return x+'0';
	else return x+'A'-10;
}
int main()
{
    int s;string x,y;
    cin>>s>>x>>y;
	for(int i=0;i<=x.size()-1;i++) a[x.size()-i+1]=change1(x[i]);
	for(int i=0;i<=y.size()-1;i++) b[y.size()-i+1]=change1(y[i]);
	int len=max(x.size(),y.size());
	rep(i,len)
	{
		c[i]+=a[i]+b[i];
		c[i+1]=c[i]/s;
		c[i]%=s;
	}
	if(c[len+1]) len++;
	for(int i=len;i>=1;i--) cout<<change2(c[i]);
	return 0;
}

样例能过,0pts

2022/11/7 20:04
加载中...