以下是两个函数的 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;
}