分别设计循环算法和递归算法,将任意输入的十进制正整数n转换为二进制数并输出。
时间: 2024-09-20 19:09:09 浏览: 47
进制转换 把一个任意的十进制正整数 N 转换成 d 进制数。 N 是一个正整数,d 是一个大于 1 小于 10 的整数,二者均由用户输入,且两数字用换行分隔。
循环算法通常用于这种类型的问题,因为它通过迭代的方式逐步完成转换过程,这里是一个简单的Python示例:
```python
def decimal_to_binary_loop(n):
binary = ''
while n > 0:
binary = str(n % 2) + binary
n = n // 2
return binary
# 示例
decimal_number = int(input("请输入一个十进制正整数: "))
binary_result = decimal_to_binary_loop(decimal_number)
print(f"{decimal_number}转为二进制为: {binary_result}")
```
递归算法则依赖于函数自身调用自身,直到达到基本情况为止,这里是递归版本:
```python
def decimal_to_binary_recursive(n, binary=''):
if n == 0:
return binary
else:
return decimal_to_binary_recursive(n // 2, binary + str(n % 2))
# 示例
decimal_number = int(input("请输入一个十进制正整数: "))
binary_result = decimal_to_binary_recursive(decimal_number)
print(f"{decimal_number}转为二进制为: {binary_result}")
```
阅读全文