.有5个人坐在一起,问第 5 个人多少岁,他说比第 4 个人大 2 岁,问第 4 个人,他说比第 3 个人大两岁,依次类推,第一个人是10岁,问第五个人多少岁?请用递推函数完成该题。
时间: 2024-01-01 16:06:32 浏览: 66
可以使用递推函数来解决这个问题。我们可以从第一个人开始,依次计算每个人的年龄。具体实现如下:
```python
def get_age(n):
if n == 1:
return 10
else:
return get_age(n-1) + 2
```
在这个函数中,如果传入的参数 `n` 是1,就返回第一个人的年龄10。否则,递归调用函数 `get_age` 来计算前一个人的年龄,并加上2,就是当前人的年龄。这样就可以不断递归计算,得到任意一个人的年龄。比如,调用 `get_age(5)` 就可以得到第五个人的年龄,结果为18岁。
相关问题
编写函数6.有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁,问第 4 个人,他说比第3个人大两岁,依次类推,第一个人是10岁,问第五个人多少岁?
可以使用递归的方式来解决这个问题。具体地,假设第 $n$ 个人的年龄为 $f(n)$,则 $f(n) = f(n-1) + 2$,同时有 $f(1) = 10$。因此可以编写如下的递归函数:
```python
def get_age(n):
if n == 1:
return 10
else:
return get_age(n-1) + 2
```
这个函数的作用是返回第 $n$ 个人的年龄。例如,调用 `get_age(5)` 就可以得到第五个人的年龄,即 18 岁。
6. 有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁,问第 4 个人,他说比第3个人大两岁,依次类推,第一个人是10岁,问第五个人多少岁?利用Python编程
可以使用循环来解决这个问题,从第一人开始,依次询问每个人与前一人的年龄差,最后计算出第五个人的年龄。
代码如下:
```python
age = 10 # 第一个人的年龄
for i in range(1, 5):
age += 2 # 每个人比前一人大两岁
print("第五个人的年龄是:", age)
```
输出结果为:
```
第五个人的年龄是: 18
```