怎么AC?

张天翔  •  10个月前


怎么AC?


评论:

打表


蒋沛霖  •  10个月前
#include<iostream>
#include<stack>
using namespace std;
stack <int> ans;
int main(){
	int n,m;
	cin>>n>>m;
	if (n == 0){
		ans.push(0);
	}
	while (n > 0){
		ans.push(n % m);
		n /= m;
	}
	while (!ans.empty()){
		if (ans.top() >= 10){
			putchar((char)(ans.top() - 10 + 'A'));
		}
		else{
			cout<<ans.top();
		}
		ans.pop();
	}
	return 0;
}

魈凯KBS  •  10个月前

龙公子终于会用MD


吴悠  •  10个月前

题解

思路:d的范围在2和36之间,用0~10和A~Z就够了。使用一个字符串S存储0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ,每一个数实际上是x,在d进制下就是S[x]了。

代码

#include<iostream>
using namespace std;
int n,x;
string s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
void change(int num){
	if(num/x==0){
		cout<<s[num];
		return ;
	}
	change(num/x);
	cout<<s[num%x];
}
int main(){
	cin>>n>>x;
	change(n);
	return 0;
}

吴悠  •  10个月前