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/7/20 20:04:58 阅读更多 →
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/7/20 20:04:58 阅读更多 →
Vortex模组管理器:5分钟快速上手打造完美游戏体验的终极指南

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

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

2026/7/20 20:03:57 阅读更多 →

最新新闻

数据库性能优化实战:独立开发者从慢查询到高并发的完整技术路线

数据库性能优化实战:独立开发者从慢查询到高并发的完整技术路线

数据库性能优化实战&#xff1a;独立开发者从慢查询到高并发的完整技术路线 性能问题的本质&#xff1a;不是"数据库慢"&#xff0c;是"你的使用方式不对" 独立开发者的产品早期&#xff0c;数据库性能通常不是问题。User表只有1000行&#xff0c;Post表只…

2026/7/22 0:45:46 阅读更多 →
【保姆级教程】AI赋能Python遥感:长时序植被动态、物候提取与RSEI评估全流程

【保姆级教程】AI赋能Python遥感:长时序植被动态、物候提取与RSEI评估全流程

在遥感技术与人工智能深度融合&#xff0c;AI大模型正重塑长时序植被遥感数据分析范式。从Landsat/Sentinel卫星数据的智能化去云处理&#xff0c;到MODIS植被产品的AI辅助质量控制&#xff0c;以ChatGPT 、DeepSeeK为代表的大模型技术已成为提升遥感数据处理效率与精度的核心工…

2026/7/22 0:44:46 阅读更多 →
现在做AI的产品经理,到底有多难

现在做AI的产品经理,到底有多难

现在做产品经理难得不是做原型与需求调研了&#xff0c;而是让产品的设计方案从MVP再到产品上线能够获得用户&#xff0c;并且推向市场验证。 在大厂&#xff0c;一个产品的ideal需要经过法务、财务、宣发布等部门来完成需求审核之后才可以做&#xff0c;而一个大厂领头产品的单…

2026/7/22 0:43:45 阅读更多 →
未来三年,是转型AI产品经理的最佳机会

未来三年,是转型AI产品经理的最佳机会

这是一篇写给所有在产品路上迷茫、焦虑、寻找破局点的人的文章。不是贩卖焦虑&#xff0c;而是陈述一个正在发生的结构性机会窗口。它正在打开&#xff0c;且不会永远敞开。全文约20000字&#xff0c;建议收藏后深度阅读。引言&#xff1a;一个正在关闭的时间窗口 2024年初&…

2026/7/22 0:43:45 阅读更多 →
从零搭建网页RAG检索系统,保姆级向量库落地教程

从零搭建网页RAG检索系统,保姆级向量库落地教程

文章目录 前言一、整套链路先看懂&#xff0c;一步都不能少二、前期依赖包一次性装好三、第一步&#xff1a;Loader&#xff0c;网页转标准Document3.1 Loader是所有文件的统一转换器3.2 用CSS选择器精准提取正文3.3 Document自带两大核心属性 四、第二步&#xff1a;递归切分长…

2026/7/22 0:42:45 阅读更多 →
Hugging Face:为什么说它是AI界的GitHub,却比GitHub走得更远?

Hugging Face:为什么说它是AI界的GitHub,却比GitHub走得更远?

一、一句话定义 Hugging Face 是全球最大的 AI 开源社区与模型协作平台&#xff0c;它汇集了数十万个预训练模型、数万个数据集和数万个在线演示应用&#xff0c;已从最初的 NLP 工具包成长为机器学习领域的“GitHub”。 二、发展简史&#xff1a;从聊天机器人到 AI 基础设施 …

2026/7/22 0:42:45 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统&#xff0c;尤其是像TI C6000系列这样的高性能DSP开发中&#xff0c;我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动&#xff0c;但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案&#xff1f; 在数字化协作环境中&#xff0c;消息通知系统的重要性不言而喻明。但现实情况是&#xff0c;企业级通知方案往往需要复杂的API对接&#xff08;如企业微信、钉钉、飞书&#xff09;&#xff0c;个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点"&#xff0c;乙方听到的是"少做几页"。甲方说"不要太复杂"&#xff0c;乙方理解成"别放图表了"。结果交过去&#xff0c;甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里&#xff0c;是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/21 8:48:31 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻