任意输入一个十进制整数n,要求借助栈将其转换为对应的r进制整数并输出
解题分析
将一个十进制整数 N 转换为 r 进制的数,其转换方法为辗转相除法。以 N=1234,r=8 为例,转换方法如下。
辗转相除法步骤如下
(1)初始化一个栈(顺序栈或链栈均可),输入N和r;
(2)判断N的值,为0时转(4),否则将 N % r所得结果压入栈中;
(3)用N / r代替N,转(2);
(4)将栈中所有元素出栈,出栈序列即为结果
运行结果