首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >年龄问题

年龄问题

原创
作者头像
代码小李
修改2025-02-03 09:34:09
修改2025-02-03 09:34:09
4400
举报

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第

3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后

   问第一个人,他说是10岁。请问第五个人多大?

1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道

      第四人的岁数,依次类推,推到第一人(10岁),再往回推。

代码语言:cpp
复制
#include <iostream>

// 递归函数,用于计算第n个人的年龄
int getAge(int n) {
    if (n == 1) {
        return 10; // 基本情况:第一个人的年龄是10岁
    }
    return getAge(n - 1) + 2; // 递归调用,计算第n个人的年龄
}

int main() {
    int person = 5;
    int age = getAge(person);

    // 输出结果
    std::cout << "第五个人的年龄是: " << age << "岁" << std::endl;

    return 0;
}

代码解释:

  1. 递归函数getAge 函数用于计算第 n 个人的年龄。
    • 如果 n 为1,返回10(基本情况)。
    • 否则,返回 getAge(n - 1) + 2,即将问题分解为更小的子问题。
  2. 主函数
    • 定义变量 person 为5,表示要计算第五个人的年龄。
    • 调用 getAge 函数计算第五个人的年龄,并将结果存储在 age 中。
    • 输出结果。

运行这段代码将输出第五个人的年龄。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 代码解释:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档