用函数的递归调用求n的阶乘(n<=10)及进制转换(十进制转换为二进制)
时间: 2023-12-27 13:02:55 浏览: 115
对C语言中递归算法的深入解析
好的,我来回答你的问题。
首先是求n的阶乘,可以使用递归的方式实现。具体代码如下:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
n = 5
print(factorial(n)) # 输出结果为 120
```
接下来是进制转换,以十进制转二进制为例。同样可以使用递归的方式实现。具体代码如下:
```python
def decimal_to_binary(n):
if n == 0:
return ''
else:
return decimal_to_binary(n // 2) + str(n % 2)
n = 13
print(decimal_to_binary(n)) # 输出结果为 1101
```
这里使用了整除符号 `//` 和取余符号 `%`。`n // 2` 表示将 n 除以 2 得到的商,而 `n % 2` 表示将 n 除以 2 得到的余数。
阅读全文