本地试多组数据都没有错,交上去直接爆0
  • 板块P1143 进制转换
  • 楼主MAPTY
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/1/5 19:50
  • 上次更新2023/10/24 05:27:54
查看原帖
本地试多组数据都没有错,交上去直接爆0
755243
MAPTY楼主2023/1/5 19:50
#include<iostream>
#include<string>
using namespace std;
const int N=1e6+10;
int s;
int n,m,b;
string a;
int op[N];
int cnt;
char ans;
int main()
{
	cin>>n;
	getchar();
	getline(cin,a);
	cin>>m;
	int len=a.size();
	int p=1;
	for(int i=len-1;i>=0;i--)
	{
		if(n>10)
		{
			switch(a[i])
			{
				case 'A': b=10;break;
				case 'B': b=11;break;
				case 'C': b=12;break;
				case 'D': b=13;break;
				case 'E': b=14;break;
				case 'F': b=15;break;
				default:b=a[i]-'0';
				break;
			}
			
		}
		else b=a[i]-'0';
		s+=b*p;
		p*=n;
	}
	while(s)
	{
		op[++cnt]=s%m;
		s/=m;
	}
	for(int i=cnt;i>=1;i--)
	{
		if(m>10)
		{
			switch(op[i])
			{
				case 10: ans='A';break;
				case 11: ans='B';break;
				case 12: ans='C';break;
				case 13: ans='D';break;
				case 14: ans='E';break;
				case 15: ans='F';break;
				default:ans=op[i]+'0';
				break;
			}
			
		}
		else ans=op[i]+'0';
		printf("%c",ans);
	}
	return 0;
} 

2023/1/5 19:50
加载中...