C++语言算法教程——递归
引子我们经常遇到 “递归” 这个名词却不知道是什么意思今天我们就讲一下递归什么是递归看这是递龟好了我们讲完了Y(^o^)Y哈哈开个玩笑我么我们来讲一个故事听懂了递归就懂了从前有个小社区区里有个zzxjason他给大家讲了一个故事从前有个小社区区里有个zzxjason他给大家讲了一个故事…这个故事有什么特点是不是在故事中再次提到相同的故事这就是递归的重要概念。回到 C一个函数是可以调用另一个函数的Σ(⊙▽⊙a可如果函数调用自己就是特例就像故事中故事调用自己我们把函数调用自己的现象叫递归再次举个栗子当我们用递归写一个上面的故事void故事(){printf(从前有个小社区 区里有个zzxjason 他给大家讲了一个故事);故事();}这样每次输出就是这个故事故事中提到的故事就是这个故事当然这不是标准的 C 语言#includebits/stdc.husingnamespacestd;voidgu_shi(){printf(从前有个小社区 区里有个zzxjason 他给大家讲了一个故事\n);gu_shi();}intmain(){gu_shi();}当你与运行后会发现会无限循环这就是因为没有终止条件函数会一直调用自己终止条件是什么就是当函数调用自己时当符合条件就不调用自己了我们给代码加上终止条件#includebits/stdc.husingnamespacestd;voidgu_shi(intx){if(x101){//当讲了 10 次故事时结束领略一下为啥是 10 1return;// return前可以加东西可return不要忘加否则程序会继续运行下去}printf(从前有个小社区 区里有个zzxjason 他给大家讲了一个故事\n);gu_shi(x1);// 下一次}intmain(){gu_shi(1);// 1 代表讲了第一次故事}执行结果从前有个小社区 区里有个zzxjason 他给大家讲了一个故事从前有个小社区 区里有个zzxjason 他给大家讲了一个故事从前有个小社区 区里有个zzxjason 他给大家讲了一个故事从前有个小社区 区里有个zzxjason 他给大家讲了一个故事从前有个小社区 区里有个zzxjason 他给大家讲了一个故事从前有个小社区 区里有个zzxjason 他给大家讲了一个故事从前有个小社区 区里有个zzxjason 他给大家讲了一个故事从前有个小社区 区里有个zzxjason 他给大家讲了一个故事从前有个小社区 区里有个zzxjason 他给大家讲了一个故事从前有个小社区 区里有个zzxjason 他给大家讲了一个故事接下来上题\(^o^)/YES!例题洛谷 B2064 斐波那契数列或信息学奥赛一本通 1159斐波那契数列—个人建议写洛谷的那题更有难度只讲洛谷的那题我们看这一题B2064 斐波那契数列题目描述x 时间限制 1.00s 内存限制 128.00MB斐波那契数列是指这样的数列数列的第一个和第二个数都为 1接下来每个数都等于前面 2 个数之和。给出一个正整数 a要求斐波那契数列中第 a 个数是多少。输入格式第 1 行是测试数据的组数 n后面跟着 n 行输入。每组测试数据占 1 行包括一个正整数 a1≤a≤30。输出格式输出有 n 行每行输出对应一个输入。输出应是一个正整数为斐波那契数列中第 a 个数的大小。输入输出样例输入452191输出5141811看到这题 我们要用递归做那么我们框架先写好就不多加讲解了#includebits/stdc.husingnamespacestd;intn;intfei_bo(intx){if(){}}intmain(){scanf(%d,n);for(inti1;in;i){inta;scanf(%d,a);printf(%d\n,fei_bo(a));}}我们接下来就要想fei_bo函数怎么写我们知道第1个和第2个数是1那就可以#includebits/stdc.husingnamespacestd;intn;intfei_bo(intx){if(x1||x2){return1;}}intmain(){scanf(%d,n);for(inti1;in;i){inta;scanf(%d,a);printf(%d\n,fei_bo(a));}}当要第一位或第二位时返回1那要看斐波那契数列第x位是多少就是第(x - 1)位加第(x - 2)位的数于是就编好了是不是很简单#includebits/stdc.husingnamespacestd;intn;intfei_bo(intx){if(x1||x2){return1;}returnfei_bo(x-1)fei_bo(x-2);}intmain(){scanf(%d,n);for(inti1;in;i){inta;scanf(%d,a);printf(%d\n,fei_bo(a));}}看看提交结果会了吧就这么简单♪(∀●)课后习题洛谷 UVA10696 f91洛谷 P1427 小鱼的数字游戏洛谷 B4025 最大公约数 提示辗转相减法请都用递归完成对了说明大概掌握了上一篇下一篇Thank you for watching

相关新闻

生命游戏C++代码initgraph窗口版(有功能未开放)

生命游戏C++代码initgraph窗口版(有功能未开放)

由于作者实力较弱&#xff0c;代码可能产生漏洞&#xff0c;请原谅&#xff01;&#xff01; #include <bits/stdc.h> #include <graphics.h> #include <conio.h> #include <thread> #include <mutex> #include <chrono> #include <cst…

2026/10/28 18:05:05 阅读更多 →
verilog HDLBits刷题[多路复用器]“Mux256to1v”---256-to-1 4-bit multiplexer

verilog HDLBits刷题[多路复用器]“Mux256to1v”---256-to-1 4-bit multiplexer

一、题目Create a 4-bit wide, 256-to-1 multiplexer. The 256 4-bit inputs are all packed into a single 1024-bit input vector. sel0 should select bits in[3:0], sel1 selects bits in[7:4], sel2 selects bits in[11:8], etc.Expected solution length: Around 1–5 li…

2026/10/28 18:05:08 阅读更多 →
Vortex模组管理器:5分钟快速上手打造完美游戏体验的终极指南

Vortex模组管理器:5分钟快速上手打造完美游戏体验的终极指南

Vortex模组管理器&#xff1a;5分钟快速上手打造完美游戏体验的终极指南 【免费下载链接】Vortex Vortex Development 项目地址: https://gitcode.com/gh_mirrors/vor/Vortex Vortex模组管理器是Nexus Mods官方推出的专业游戏模组管理工具&#xff0c;专为简化游戏模组管…

2026/10/28 18:05:14 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年&#xff0c;我大部分时间都在跟浏览器标签页打交道&#xff0c;直到第一次把桌面应用跑起来&#xff0c;才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词&#xff0c;最开始是在某段时间频繁出现在同事的讨论里&#xff0c;一个用HTML…

2026/10/28 23:48:14 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档&#xff0c;主要面向智能锁安装人员、终端用户及售后维护者&#xff0c;帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件&#xff0c;大小4.37MB&#xff0c;内容结构清晰&#xff…

2026/10/28 7:28:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统&#xff0c;整车要求空载跑到8m/s&#xff0c;电机转速已经拉到额定点&#xff0c;驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令&#xff0c;转速纹丝不动&#xff0c;三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/28 9:02:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年&#xff0c;用它写过嵌入式驱动、做过游戏服务端&#xff0c;也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词&#xff0c;我其实挺感慨的——这门语言的难点从来不是语法多&#xff0c;而是知识点之间的耦合太深…

2026/10/28 22:10:30 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书以PDF格式发布&#xff0c;适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开&#xff0c;先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能&#xff0c;再给出完整安装步骤&…

2026/10/28 9:00:54 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历&#xff1a;翻开源码注释、论文摘要或者一份专业报告&#xff0c;每个字都认识&#xff0c;连在一起却像天书。想找人聊聊&#xff0c;身边要么没人懂&#xff0c;要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型&#xff0c;几秒钟之后&a…

2026/10/28 7:29:02 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 16:58:40 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 9:01:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 19:25:09 阅读更多 →