以下是两个函数的 C++ 实现:gcd 用辗转相除法求最大公约数,convert 使用栈将十进制整数转换为指定进制并输出结果。

int gcd(int x,int y)
{
	int temp=0;
	while(y)
	{
		temp=y;
		y=x%y;
		x=temp;
	}
	return x;
}

void convert(int x,int target)
{
	stack<int> data;
	while(x)
	{
		data.push(x%target);
		x/=target;
	}

	cout<<target<<"进制为 ";
	while(!data.empty())
	{
		cout<<data.top();
		data.pop();
	}
	cout<<endl;
}