美文网首页
C++ 递归算法

C++ 递归算法

作者: 863cda997e42 | 来源:发表于2018-02-13 14:12 被阅读36次

    递归算法,尾递归算法求阶乘!

    #include<iostream>
    
    using namespace std;
    
    int fact(int n)
    {
        if (n < 0)
        {
            return 0;
        }
        else if (n == 1 || n == 0)
        {
            return 1;
        }
        else
        {
            return (n * fact(n - 1));
        }
    }
    
    int facttail(int n, int a)
    {
        if (n < 0)
        {
            return 0;
        } 
        else if (n == 0)
        {
            return 1;
        }
        else if (n == 1)
        {
            return a;
        }
        else
        {
            return facttail(n - 1, n * a);
        }
    }
    
    int main()
    {
    
        cout << fact(5)<< endl;
    
        cout << facttail(5, 1) << endl;
    
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:C++ 递归算法

          本文链接:https://www.haomeiwen.com/subject/jjljtftx.html