尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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
RELATED

相关推荐

生命游戏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/11/4 18:09:21
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/9/14 21:04:38
SKC知识管理平台-版本更新至1.3.2

SKC知识管理平台-版本更新至1.3.2

SKC智能知识管理系统-企业级知识库-私有化部署-免费使用功能开发与优化实现“我的标签”功能完成标签体系的可视化与交互功能。全面优化知识聚类图谱优化领域-实体-环境-管理4级聚类节点&#xff0c;优化图谱展示逻辑。优化二级图谱展示效果&#xff0c;仅突出展示当前选中节点…

📅 2026/10/24 21:18:24
MORE NEWS

更多资讯

📰

CAD注册表清理工具:解决AutoCAD安装残留问题

1. 工具定位与核心痛点解析这个CAD注册表清理工具本质上是一个针对AutoCAD系列软件卸载残留问题的专项解决方案。在十多年的CAD使用和教学经历中&#xff0c;我见过太多因为注册表残留导致的安装失败案例——明明已经卸载了旧版本&#xff0c;安装新版本时却提示"已安装&q…

📰

PostgreSQL从0到1选型与落地:能力边界、配置与故障排查

接手一个内部数据平台重构时&#xff0c;团队在选型上卡了整整两天。需求单摊开来什么都有&#xff1a;订单是标准的关系型结构&#xff0c;用户画像是一大坨嵌套 JSON&#xff0c;运营要按关键词搜工单正文&#xff0c;风控要算“三公里内”的门店&#xff0c;后来还追加了一个…

📰

通用大模型 vs 垂直行业大模型:选型要点与落地实践

这两年做大模型落地的朋友应该都有同一种感受&#xff1a;通用大模型像一把万能瑞士军刀&#xff0c;什么都行&#xff0c;什么都差口气&#xff1b;垂直行业大模型像一把定制手术刀&#xff0c;切得准&#xff0c;但打不打磨、打磨得好不好&#xff0c;直接决定你是救人还是误…

📰

数据结构核心原理与实战应用全解析

1. 数据结构基础概念全景解析在程序设计的江湖里&#xff0c;数据结构就像武侠世界中的内功心法。记得我第一次参加技术面试时&#xff0c;面试官在白板上画了个二叉树就让我现场实现遍历&#xff0c;那一刻突然意识到&#xff1a;不理解数据结构就像练武不扎马步&#xff0c;再…

📰

Oracle EBS财务模块三层结构、账套配置与总账数据流解析

简介&#xff1a;围绕 Oracle EBS 财务模块整理的五部分学习文档&#xff0c;面向正在接触 Oracle ERP 财务实施、运维或希望系统理解财务模块的初、中级读者&#xff0c;也适合作为培训参考&#xff0c;可用于梳理传统财务流程与 EBS 财务功能的对应关系。压缩包内共 1 个 doc…

📰

MSMQ与Spring Boot缓存预热提升电商系统性能

1. 项目概述&#xff1a;消息队列与缓存预热的工程实践在分布式系统架构中&#xff0c;消息队列和缓存机制是解决性能瓶颈的经典组合拳。最近我在一个电商促销系统项目中&#xff0c;就遇到了高并发下单导致的数据库压力问题。通过采用MSMQ实现异步消息处理&#xff0c;并结合S…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬