美文网首页
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;
}

相关文章

  • Count and Say

    标签: C++ 算法 LeetCode 字符串 递归 每日算法——leetcode系列 问题 Count and...

  • Generate Parentheses

    标签(空格分隔): C++ 算法 LeetCode 字符串 递归 每日算法——leetcode系列 问题 Gen...

  • 二叉树的遍历(先序、中序、后序)

    树结构: 先序:递归:C++: 非递归:C++: 中序:递归:C++: 非递归:C++: 后序:递归:C++: 非...

  • C++ 递归算法

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

  • 快速幂模板

    递归算法 非递归算法

  • python递归算法、尾递归算法及优化

    文章概述 递归算法和尾递归概述递归算法的优化 递归算法 介绍:递归算法是计算机编程领域非常重要的一种算法,采用分而...

  • Java递归算法详解

    递归算法是一种直接或者间接调用自身函数或者方法的算法。Java递归算法是基于Java语言实现的递归算法。递归算法的...

  • 矩阵链乘法

    递归算法: 迭代算法: 分析 递归算法:规模为n的问题,有n个递归,每个递归又有相应矩阵个数个递归,故T(n)=T...

  • 【Python】(十一)从汉诺塔看Python中的递归问题

    递归的原则 递归算法必须具有基本情况。 递归算法必须改变其状态并向基本情况靠近。 递归算法必须以递归方式调用自身 ...

  • 一、算法

    目标 递归算法查找算法算法分析十大排序算法 递归算法 什么是递归递归,在数学与计算机科学中,是指在函数的定义中使用...

网友评论

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

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