利用栈的基本操作实现将任意一个十进制整数转化为R进制整数
时间: 2024-05-08 18:17:54 浏览: 119
用栈完成十进制转换成R进制
算法步骤:
1. 创建一个空栈,用于存储R进制整数的每一位数字。
2. 将十进制整数不断除以R,直到商为0为止。每次将余数压入栈中。
3. 从栈顶开始依次取出每个余数,组成R进制整数。
Python代码实现:
```python
def decimal_to_R(decimal, R):
"""
将十进制整数转化为R进制整数
:param decimal: 十进制整数
:param R: 进制数
:return: R进制整数
"""
stack = [] # 创建一个空栈
while decimal:
remainder = decimal % R # 求余数
stack.append(remainder) # 将余数压入栈中
decimal //= R # 更新十进制整数
result = ""
while stack:
result += str(stack.pop()) # 从栈顶开始取出每个余数,组成R进制整数
return result
```
示例:
```python
>>> decimal_to_R(10, 2) # 将十进制整数10转化为二进制整数
'1010'
>>> decimal_to_R(2019, 16) # 将十进制整数2019转化为十六进制整数
'7E3'
```
阅读全文