有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请间第五个人多大? 要求:利用函数的递归调用求出结果!
时间: 2024-09-21 13:03:21 浏览: 57
python 有5个人坐在一起,问第五个人多少岁?(示例)
5星 · 资源好评率100%
这个问题可以用递归的方式来解决。假设第一个人的年龄为初始值,我们可以编写一个函数,依次向前询问每个人的年龄差,直到达到第5个人。下面是使用Python语言的一个递归函数示例:
```python
def find_age(ages, current_person=1, age_difference=2):
if current_person == 5: # 如果到了第5个人
return ages[current_person - 1] + age_difference # 返回第5个人的年龄
else:
next_age = find_age(ages, current_person + 1, age_difference) # 递归调用,询问下一个
ages[current_person] = next_age - age_difference # 更新当前人的年龄
return ages[current_person]
# 初始情况,第一个人10岁
ages = [10]
print(find_age(ages))
```
当运行这个函数时,它会计算出第五个人的确切年龄。由于已经给出了第一个人是10岁,所以直接计算即可。
阅读全文