输出字符串改成数组就能过,为什么?
查看原帖
输出字符串改成数组就能过,为什么?
1258825
wusongxu楼主2024/10/27 14:20
#include<cstdio>
#include<iostream>
#include<cstring>

using namespace std;

int n,m;
//char M[500];
string N,M;

int in(){
	long long res = 0;
	int temp = 0;
	for(int i = 0; i < N.size(); i ++){
		if(N[i] >= 'A' && N[i] <= 'F')
			temp = N[i] - 'A' + 10;
		else temp = N[i] - '0';
		res *= n;	
		res += temp;
	}
	//printf("%d",res);
	return res;
}
int out(long long res){
	int k = 1;
	int temp = 0;
	while(res > 0){
		temp = res % m;
		if(temp > 9) M[k++] = (char)('A' + temp - 10);
		else M[k++] = (char)('0' + temp); 
		res /= m;
	}
	return k;
}
int main(){
	cin>>n>>N>>m;
	int ans = in();
	int len = out(ans);
	for(int i = len-1; i >= 0; i --)
		printf("%c",M[i]);
	return 0;
}

(以下是未过的数据点)
输入
15
5CBD1460
2
输出
111011100110101100100111110110

2024/10/27 14:20
加载中...