跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
|注册
博客列表

目录

  1. C++ 递推算法详解:GESP 四级考试核心考点
  2. 第一章:什么是递推?
  3. 1. 想象有一棵神奇的树
  4. (1)第一天,树上只有 1 片叶子
  5. (2)第二天,每片叶子会长出 2 片新叶子
  6. (3)我们记录每天的叶子数量:
  7. (4)你会发现一个秘密:
  8. 第二章:递推的本质
  9. 1. 用前面的结果,推出后面的结果
  10. 2. 这是 GESP 四级 C++ 考试大纲中,必考的算法。
  11. 第三章:用生活故事理解递推
  12. 1. 故事:兔子生宝宝
  13. (1)农场有兔子:
  14. (2)从第 3 个月开始:
  15. 2. 算一算:
  16. 3. 递推的秘密:
  17. 4. 这就是著名的:
  18. 第四章:递推的 3 个关键部分
  19. 1. 初始值(最开始)
  20. 2. 递推公式(核心)
  21. 3. 递推的顺序
  22. 第五章:最基础递推模板
  23. 第六章:故事例题 1《爬楼梯的小朋友》
  24. 1. 小明要爬楼梯
  25. (1)每次可以:
  26. (2)问:
  27. 2. 我们画图:
  28. (1)画一画
  29. (2)找规律:
  30. (3)因为:
  31. 3. 参考程序
  32. 第七章:故事例题 2《存金币的小猪》
  33. 1. 小猪每天存金币
  34. (1)第 1 天:存 1 个
  35. (2)问第 n 天存多少?
  36. 2. 填表格:
  37. 3. 递推公式:
  38. 4. 核心程序:
  39. 第八章:故事例题 3《会繁殖的细菌》
  40. 1. 细菌每天:
  41. 2. 递推公式:
  42. 第九章:递推万能模板
  43. 第十章:递推和普通循环的区别
  44. 1. 普通循环:
  45. 2. 递推:
  46. 3. 例如:
  47. (1)普通循环:
  48. (2)递推算法:
  49. 第十一章:GESP 考试最常见递推类型
  50. 类型 1:每次加
  51. 类型 2:每次乘
  52. 类型 3:前两个相加
  53. 类型 4:平方递推
  54. 第十二章:小学生记忆口诀
  55. 第十三章:图解理解
  56. 第十四章:GESP 考试标准递推模板
  57. 第十五章:一句话总结
C++算法

C++ 递推算法详解:GESP 四级考试核心考点

详细讲解 C++ 递推算法的基础概念,涵盖初始值设定、递推公式构建及计算顺序。通过兔子繁殖、爬楼梯、存金币等实例演示斐波那契数列与等差数列的推导过程。提供标准代码模板及四种常见递推类型总结,旨在帮助考生掌握 GESP 四级考试中的核心算法考点。

灵魂摆渡发布于 2026/3/22更新于 2026/4/1623K 浏览
C++ 递推算法详解:GESP 四级考试核心考点

C++ 递推算法详解:GESP 四级考试核心考点

第一章:什么是递推?

1. 想象有一棵神奇的树

(1)第一天,树上只有 1 片叶子
(2)第二天,每片叶子会长出 2 片新叶子
(3)我们记录每天的叶子数量:
天数叶子数
第 1 天1
第 2 天2
第 3 天4
第 4 天8
第 5 天16
(4)你会发现一个秘密:

今天的叶子数 = 昨天的叶子数 × 2

这就是:递推公式

第二章:递推的本质

1. 用前面的结果,推出后面的结果

就像:

text
今天 = 昨天 推出来的
未来 = 现在 推出来的

这就叫:递推(一步一步推出来)

2. 这是 GESP 四级 C++ 考试大纲中,必考的算法。

第三章:用生活故事理解递推

1. 故事:兔子生宝宝

(1)农场有兔子:

第 1 个月:1 只兔子
第 2 个月:1 只兔子

(2)从第 3 个月开始:

每只成熟兔子每个月生 1 只新兔子

2. 算一算:

月份兔子数
11
21
32
43
55
68

3. 递推的秘密:

第 n 月兔子数 = 第 n-1 月兔子数 + 第 n-2 月兔子数

4. 这就是著名的:

斐波那契数列

第四章:递推的 3 个关键部分

任何递推必须有:

1. 初始值(最开始)

比如:

第 1 天 = 1
第 2 天 = 1

否则无法开始。就像没有第一块积木,无法搭房子。

2. 递推公式(核心)

比如:

a[i] = a[i-1] + a[i-2]

意思:第 i 个 = 前两个推出来。

3. 递推的顺序

必须:

先算小的 再算大的

不能跳着算。

第五章:最基础递推模板

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int a[100];
    // ① 初始值
    a[1] = 1;
    a[2] = 1;
    // ② 递推
    for(int i = 3; i <= n; i++) {
        a[i] = a[i-1] + a[i-2];
    }
    // ③ 输出
    cout << a[n];
    return 0;
}

第六章:故事例题 1《爬楼梯的小朋友》

1. 小明要爬楼梯

(1)每次可以:

走 1 步
或
走 2 步

(2)问:

爬到第 n 级,有多少种方法?

2. 我们画图:

(1)画一画

第 1 级:1 种
第 2 级:1+1, 2 (2 种)
第 3 级:1+1+1, 1+2, 2+1 (3 种)
第 4 级:1+1+1+1, 1+2+1, 2+1+1, 1+1+2, 2+2 (5 种)

(2)找规律:
f[n] = f[n-1] + f[n-2]
(3)因为:

最后一步:

可能从 n-1 来
可能从 n-2 来

3. 参考程序

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int f[100];
    f[1] = 1;
    f[2] = 2;
    for(int i = 3; i <= n; i++) {
        f[i] = f[i-1] + f[i-2];
    }
    cout << f[n];
    return 0;
}

第七章:故事例题 2《存金币的小猪》

1. 小猪每天存金币

(1)第 1 天:存 1 个

以后每天比前一天多存 2 个

(2)问第 n 天存多少?

2. 填表格:

1, 1+2=3, 3+2=5, 5+2=7, 7+2=9

这是一个等差数列!

3. 递推公式:

a[i] = a[i-1] + 2

4. 核心程序:

a[1] = 1;
for(int i=2; i<=n; i++) {
    a[i] = a[i-1] + 2;
}

第八章:故事例题 3《会繁殖的细菌》

1. 细菌每天:

变成昨天的 3 倍

2. 递推公式:

a[i] = a[i-1] * 3;

第九章:递推万能模板

int a[100];
a[1] = 初始值;
a[2] = 初始值;
for(int i = 2; i <= n; i++) {
    a[i] = 用 a[i-1] 或 a[i-2] 计算;
}

第十章:递推和普通循环的区别

1. 普通循环:

只是重复

2. 递推:

用'以前的结果'

3. 例如:

(1)普通循环:
for(int i=1; i<=n; i++) {
    cout<<i;
}
(2)递推算法:
a[i] = a[i-1] + 5;

使用递推公式,生成新的结果,用到了上一轮刚刚生成的结果。

第十一章:GESP 考试最常见递推类型

类型 1:每次加

a[i]=a[i-1]+k;

类型 2:每次乘

a[i]=a[i-1]*k;

类型 3:前两个相加

楼梯问题、兔子问题

a[i]=a[i-1]+a[i-2];

⭐⭐⭐⭐⭐考试最爱

类型 4:平方递推

a[i]=a[i-1]*a[i-1];

第十二章:小学生记忆口诀

递推递推不要猜
前面结果推出来
先有开始第一项
再用公式往后排

第十三章:图解理解

想象:

text
a[1] → a[2] → a[3] → a[4] → a[5]
↓      ↓      ↓      ↓      ↓
开始   推出   推出   推出

像多米诺骨牌一样倒下

第十四章:GESP 考试标准递推模板

#include <iostream>
using namespace std;

int main() {
    int n;
    cin>>n;
    int a[1000];
    a[1]=...;
    a[2]=...;
    for(int i=3; i<=n; i++) {
        a[i]=...;
    }
    cout<<a[n];
    return 0;
}

第十五章:一句话总结

递推就是:
用过去,推未来
就像是种子、小苗、变大树
一步一步长出来

极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog

更多推荐文章

查看全部
  • C/C++ 命名规范:提升代码可读性的关键
  • 前端常用流程图框架盘点:组态图、思维导图与拓扑图开发指南
  • AI 与存储的结合:智能存储的实践与挑战
  • HarmonyOS 6 DevEco Studio 安装与配置指南
  • MCP、Agent 与 Skills:AI 时代三大核心概念解析
  • AI 时代内存需求激增:能源、隐私与绿色技术深度解析
  • Whisper 语音识别避坑指南:从安装到部署常见问题全解
  • Angular入门启蒙03,Angular 环境搭建全解析:Node.js、npm 与 Angular CLI 安装配置
  • Go2 机器人 ROS2 与 Gazebo 仿真环境搭建指南
  • 基于树莓派4B的智能家居中枢搭建指南
  • Node.js 下载安装及环境配置教程
  • 六自由度机器人逆运动学详解及 MATLAB 实现
  • 2026 传媒行业变革:Agent 成新入口,AIGC 引爆内容产能
  • PostgreSQL 插件 pgvector 核心功能与版本演进总结
  • Coze扣子「百套AI工作流」模板合集
  • Python 面试核心知识点汇总:装饰器与数据结构
  • C++26 新特性解析:线程亲和性与性能优化
  • KaiwuDB 3.1.0 在 Ubuntu 22.04 部署实战:TLS 配置与性能测试
  • 企业级 Python 反爬实战:JS 逆向、APP 抓包与验证码破解
  • IDEA 报警:未注解方法重写@NonNullApi 注解方法

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online