栈与队列一:进制转换
题目描述:
Problem Description
输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。
Input
第一行输入需要转换的十进制非负整数;
第二行输入 R。
Output
输出转换所得的 R 进制数。
Sample Input
1279
8
Sample Output
2377
Hint
Source
思路
1.需要知道进制转换的规则
用num(需要转换的数)%R(进制数)得余数,再用(num/R)%R得余数,按此规则循环,直到(num/R)=0,把全部得余数逆序输出得到结果
e.g.
8 | 1297 | 7
8 | 159 | 7
8 | 19 | 3
8 | 2 | 2
| 0 |
2.用栈顺序存储,注意输出的时候从top到head,也可以用push、pop来操作
3.容易忽视的(我卡了很久在这里)就是题目中说的是非负整数,所以要把0单独拿出来考虑
代码
#<