写一个函数 输入整数n返回0到之间的偶数组 用递归
时间: 2023-09-03 18:25:53 浏览: 103
c代码-编写一个求阶乘的函数Fact(),然后在主函数中,计算并输出1到n之间所有数的阶乘值
### 回答1:
下面是一个用递归实现的 Python 函数,它接受一个整数 `n` 作为输入,并返回从 0 到 `n` 之间的所有偶数的数组:
```
def even_numbers_recursive(n, result=[]):
if n == 0:
return result
if n % 2 == 0:
result.append(n)
return even_numbers_recursive(n-1, result)
```
使用方法如下:
```
>>> even_numbers_recursive(10)
[10, 8, 6, 4, 2, 0]
```
### 回答2:
要实现输入整数n,返回0到n之间的偶数数组,可以使用递归函数来解决。
首先,我们定义一个函数`even_array(n)`,该函数接受一个整数n作为输入。
首先判断n的值,如果n等于0,表示已经递归到最小的情况,此时返回一个空数组[]。
如果n不等于0,则递归调用函数`even_array(n-1)`,得到一个0到n-1之间的偶数数组。然后,判断n是否为偶数,如果是偶数,则将n添加到数组末尾并返回,否则直接返回递归调用函数得到的数组。
下面是实现该递归函数的代码:
```python
def even_array(n):
if n == 0:
return []
else:
arr = even_array(n-1)
if n % 2 == 0:
arr.append(n)
return arr
```
例如,调用`even_array(8)`,将返回[0, 2, 4, 6, 8],调用`even_array(10)`,将返回[0, 2, 4, 6, 8, 10],以此类推。
该递归函数通过逐步递减n的值,从而实现了获取0到n之间的偶数数组的功能。
阅读全文