编写一个函数,采用递归方法将任一正整数转换为二进制形式。在主函数中完成数据的输入输出。
时间: 2024-03-25 12:39:58 浏览: 82
整数转换为二进制数
好的,以下是一个递归函数将任意正整数转换为二进制形式的实现:
```python
def decimal_to_binary(n):
if n == 0:
return ''
else:
return decimal_to_binary(n // 2) + str(n % 2)
```
在这个函数中,我们首先检查输入的数是否为0。如果是,我们返回一个空字符串。否则,我们使用递归将该数的整除结果传递给下一个函数调用,同时将该数的模数作为字符串附加到返回的结果末尾。这个过程会一直重复,直到我们将数字减少到0为止。最终结果将是输入数字的二进制表示。
以下是一个示例主函数,它使用上述函数将用户输入的数字转换为二进制形式,并将结果打印到控制台上:
```python
if __name__ == '__main__':
decimal = int(input('请输入一个正整数: '))
binary = decimal_to_binary(decimal)
print(f'{decimal} 的二进制形式为: {binary}')
```
当我们运行主函数时,它会提示用户输入一个正整数。然后,它会使用递归函数将该数字转换为二进制形式,并将结果打印到控制台上。
阅读全文