37.比岁数问题有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?请运用递归算法完成以下代码。def age(n): if ① : c = 10 else: c = ② return cprint(age( ③ ))
【喵呜刷题小喵解析】:在这个问题中,第五个人比第四个人大2岁,第四个人比第三个人大2岁,以此类推。第一个人是10岁,这是已知的。我们需要找出第五个人的年龄。在这个情况下,递归是一个很好的选择。递归函数会重复调用自己,每次调用时,参数的值都会改变,直到满足某个终止条件。在这个问题中,终止条件就是n等于1,因为第一个人是10岁。在Python中,递归函数可以像这样编写:```pythondef age(n):if n == 1:c = 10else:c = age(n-1) + 2return c```在这个函数中,如果n等于1,函数返回10(因为第一个人是10岁)。否则,函数返回age(n-1) + 2,其中age(n-1)是前一个人的年龄,加2是因为题目中说每个人都比前一个人大2岁。最后,我们调用函数age(5),打印出第五个人的年龄。