c++入门教程–-11递归

c++入门教程–-11递归

c++入门教程–-11递归

递归的意思就是函数自己调用自己。
但在使用递归时,程序员需要注意定义一个从函数退出的条件,否则会进入死循环。

例子:
5!这里是求5的阶乘,也就是5x4x3x2x1

#include <iostream>
using namespace std;


int F(int a) //求阶乘
{
   
if(a==1) return 1; //这里就是出口
else return a*F(a-1); //如果不是1的话,就返回 a*a-1的阶乘
}

int main()
{
   
	int b = F(5);
	cout<<b<<endl;
	return 0;
}

运行结果:
在这里插入图片描述

这就是递归。巧妙运用递归可以做成很多事情。

思考题目:
1 1 2 3 5 8 13 ?
用递归求一下?的数字。

解:

if(a==1 || a==2) return 1; //这里就是出口
else return F(a-2)+F(a-1); //从第3个开始就等于前两个数相加

//自己可以试着把完整的程序编写出来,并且慢慢吸收,消化。

在这个平台上有收徒的打算,如果小伙伴刚好需要一个能答疑,能带着你学习的师父,请联系我,q:2316773638

c++入门教程–1选择编译器,进行第一段代码
c++入门教程–-2基本语法
c++入门教程–-3数据类型,变量与常量
c++入门教程–-4运算符
c++入门教程–-5判断语句
c++入门教程–-6循环语句
c++入门教程–-7嵌套循环
c++入门教程–-8循环控制语句
c++入门教程–-9循环与条件语句习题与总结
c++入门教程–-10函数
c++入门教程–-11递归
c++入门教程–-12作用域
c++入门教程–-13数组
c++入门教程–-14二维数组
c++语言入门教程–15字符串常见操作
c++语言入门教程–16c++ 中的 String 类
c++语言入门教程–-17结构体
c++入门教程–-18指针
c++入门教程–-19C ++类与对象
c++入门教程–-20C++ 类成员函数
c++入门教程–-21C++类访问修饰符
c++入门教程–-22类构造函数 & 析构函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2888.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • svn小乌龟怎么断开链接,怎么查看电脑中的隐藏文件,svn复制包或修改包名应注意什么

    svn小乌龟怎么断开链接,怎么查看电脑中的隐藏文件,svn复制包或修改包名应注意什么svn小乌龟怎么断开链接,怎么查看电脑中的隐藏文件,svn复制包或修改包名应注意什么

    2022年4月24日
    128
  • Java多维数组声明格式

    Java多维数组声明格式刷题目再次遇到了声明这种最基本形式的考题,以此记录,共勉。关于多维数组声明的形式你知道哪几种呢?首先先上一个错误的例子:这里arr9-arr11在等式右边都错误的在中括号中加了数组大小,导致报错;而arr11、arr12则是等式右边二维数组初始化时没有赋予初始大小导致报错。正确的声明形式如下:本质上arr0、arr4和arr3、arr8是一样的;而arr1-2和arr5-…

    2022年5月5日
    38
  • Master page_enableeventvalidation「建议收藏」

    Master page_enableeventvalidation「建议收藏」Masterpage/contentpagepostbackproblemHi,Ihavethefollowingscenario:Iamusingamasterpage(masterpage.master)whichcontainsatextboxandtwoImagebuttonsasservercontrols.Itriedsom

    2022年7月24日
    7
  • windows 2008文件服务器审计

    windows 2008文件服务器审计windows2008或者windows2008r2,系统做域内的文件服务器,能否做到谁删除某个共享出来的文件夹或者文件的操作审计?审计级别能做到怎么样一个程度?回答:依据您的问题您想知道Windows2008文件服务器的审计相关。依据我的经验,这个要分成两种情况:1.在远端访问,就是通过网络路径访问;2.在本地上本地访问共享文件,就是在创建的机器上访问;远端访问访问共享文件…

    2022年6月4日
    79
  • 【SpringCloud】微服务笔记

    【SpringCloud】微服务笔记集中什么是微服务架构:1597213385700SpringCloud是微服务一站式服务解决方案,微服务全家桶。它是微服务开发的主流技术栈。它采用了名称,而非数字版本号。s方法gCloud和springCloudAlibaba目前是最主流的微服务框架组合。版本选择:选用springboot和springCloud版本有约束,不按照它的约束会有冲突。版本问题本次学习的各种软件的版本:boot使用的是数字作为版本。官网强烈建议升级到2.0以上cloud使用的是字母作为版本,伦

    2022年5月22日
    68
  • Pycharm 运行py文件[通俗易懂]

    Pycharm 运行py文件[通俗易懂]1 在桌面上建立一个文件夹  2.打开pycharm,如果已经有文件了,就点击File-&gt;closeproject,回到主界面3 选择Createanewproject 4.    将该文件夹的所在路径设为工程的路径,选择一下解释器,就点击Create,如果提示该文件夹不空的话,点击yes即可,可以提前把数据放入该aaaa文件夹5.   现在进入该页面,然后新建一个…

    2022年8月29日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号