题目:

有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他说比第3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多大?

简介:

在本篇博客中,我们将解决一个关于人的年龄的问题。通过题目给出的信息,我们可以使用递归的方式来推算第五个人的年龄。在博客中,我们将给出问题的分析、解决方案和完整的代码示例。

问题分析:

题目给出了 5 个人的年龄信息,其中每个人的年龄与前一个人的年龄差为 2 岁。我们需要通过递归的方式来计算第五个人的年龄。

解决方案:

为了解决这个问题,我们可以使用递归函数来推算每个人的年龄。下面是解题的代码示例:

def calculate_age(n):
    if n == 1:
        return 10
    else:
        return calculate_age(n - 1) + 2

# 计算第五个人的年龄
age_of_fifth_person = calculate_age(5)

print("第五个人的年龄为:", age_of_fifth_person)

运行结果:

第五个人的年龄为: 18

【Python 随练】年龄计算问题_递归函数

代码解析:

  1. 我们定义了一个递归函数calculate_age(n),用于计算第n个人的年龄。
  2. 在函数内部,我们首先判断递归的停止条件,即当n等于 1 时,返回第一个人的年龄 10。
  3. 如果n不为 1,则通过递归调用calculate_age(n - 1)来计算第n-1个人的年龄,并在其基础上加上 2,表示第n个人比第n-1个人大 2 岁。
  4. 在主程序中,我们调用calculate_age(5)来计算第五个人的年龄,并将结果存储在age_of_fifth_person变量中。
  5. 最后,我们打印输出第五个人的年龄。

结论:

根据题目中的条件,经过递归计算,我们得出第五个人的年龄为 18 岁。递归是一种强大的算法思想,能够解决许多问题,包括依次推算年龄的问题。这个简单的代码示例展示了如何使用递归函数来计算人的年龄,并可帮助读者更好地理解递归的原理和应用。