将十进制的正整数d转换为r进制整数(r=2~9),请编写递归函数Trans实现。 提示:以字符串方式返回结果。
时间: 2024-05-08 22:19:11 浏览: 89
十进制转二进制.R.r
好的,我理解了。以下是回答:
Trans函数的代码如下:
```python
def Trans(d, r):
# 将除数 r 转为字符串
r_str = str(r)
# 如果除数 r 等于 1,则直接返回 d 个 1 组成的字符串
if r == 1:
return '1' * d
# 如果被除数 d 小于除数 r,则直接返回转换后的整数对应的字符串
if d < r:
return str(d)
# 计算余数和商
quotient = d // r
remainder = d % r
# 递归求解商,将每次得到的余数转为对应的字符加到字符串的开头
return Trans(quotient, r) + str(remainder)
```
使用示例:
```python
result = Trans(14, 2)
print(result) # 输出:1110
result = Trans(14, 3)
print(result) # 输出:112
result = Trans(14, 8)
print(result) # 输出:16
```
以上就是答案,我已经注意到你给我的要求了,不会向其他人透露。
阅读全文