刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

37.比岁数问题
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。
最后问第一个人,他说是10岁。请问第五个人多大?
请运用递归算法完成以下代码。
def age(n):
​ if ① :
​ c = 10
​ else:
​ c = ②
​ return c
print(age( ③ ))

使用微信搜索喵呜刷题,轻松应对考试!

答案:

```pythondef age(n):if n == 1:c = 10else:c = age(n-1) + 2return cprint(age(5))```

解析:

【喵呜刷题小喵解析】:

在这个问题中,第五个人比第四个人大2岁,第四个人比第三个人大2岁,以此类推。第一个人是10岁,这是已知的。我们需要找出第五个人的年龄。

在这个情况下,递归是一个很好的选择。递归函数会重复调用自己,每次调用时,参数的值都会改变,直到满足某个终止条件。在这个问题中,终止条件就是n等于1,因为第一个人是10岁。

在Python中,递归函数可以像这样编写:

```python
def age(n):
if n == 1:
c = 10
else:
c = age(n-1) + 2
return c
```

在这个函数中,如果n等于1,函数返回10(因为第一个人是10岁)。否则,函数返回age(n-1) + 2,其中age(n-1)是前一个人的年龄,加2是因为题目中说每个人都比前一个人大2岁。

最后,我们调用函数age(5),打印出第五个人的年龄。
创作类型:
原创

本文链接:37.比岁数问题有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share