递归函数的介绍及使用案例
  bfUr8bim5pQU 2023年11月02日 79 0
C++

递归函数

含义介绍:

递归函数,实际上就是将一个自定义的函数在运行过程中反复调用他自己,直到遇到结束条件就停止

案例一:求阶乘

int len(int n)
{
    if(n == 1)
    {
		return 1;//如果阶乘运算到最后一位(即1),就结束循环
    }
    int sum = n*len(n-1);//n! = (n-1)!*n
    return sum;
}
void test01()
{
    cout<<len(5)<<endl;
}

案例二:求斐波那契数列的第n个数

int num(int n)
{
    if(n ==1||n ==0)//倒序运算到1或0时,就return n;结束循环
    {
		return n;
    }
    else
    {
        return num(n-1)+num(n-2);//n>=2时有这个式子
    }
}
void test01()
{
    int k;
    cin>>k;
    cout<<num(k)<<endl;
}

案例三:全排列

int s[5] = {0,1,2,3,4};//输入数组
int rev(int n)
{
    if (n == 5)
    {
        for (int i = 0; i < 5; i++)
        {
            cout << s[i];
        }
        cout << endl;
    }
    for (int i = n; i < 5; i++)
    {
        swap(s[i], s[n]);//首先确定第一个数
        rev(n + 1);//依次确定第2,3......个数
        swap(s[i], s[n]);//将换了位置的数据复原,以免下次交换数据时产生重复
    }
    return 0;
}
void test01()
{
    rev(0);
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  8Tw5Riv1mGFK   2024年05月01日   82   0   0 C++
  BYaHC1OPAeY4   2024年05月08日   58   0   0 C++
  yZdUbUDB8h5t   2024年05月05日   44   0   0 C++
  oXKBKZoQY2lx   2024年05月17日   62   0   0 C++
bfUr8bim5pQU