使用递归函数。将十进制数n转化为B进制数
时间: 2024-10-27 12:13:52 浏览: 19
c++递归实现十进制数转二进制(输入式
递归函数是一种解决问题的技术,它通过将大问题分解成规模较小、结构相似的子问题来求解。对于将十进制数转换为任意进制(包括二进制B),我们可以编写一个递归函数来实现:
```python
def decimal_to_base(n, base):
if n == 0: # 当n变为0时,我们找到了位数的结束点
return ''
else:
remainder = n % base # 取余数,这是当前位的值
return str(remainder) + decimal_to_base(n // base, base) # 递归调用,将高位继续转换
# 示例:将十进制数15转换为二进制
binary_num = decimal_to_base(15, 2)
print(f"十进制 {n} 转换为二进制是 {binary_num}")
```
在这个函数里,`decimal_to_base` 函数首先检查输入的 `n` 是否为0,如果是,则返回空字符串表示位数结束;否则,计算出当前位的值(即取模运算的结果),并将其添加到结果字符串的开头,然后对 `n` 进行整除(//操作符表示地板除),再递归调用自身。
阅读全文