zoukankan      html  css  js  c++  java
  • 递归函数

    递归函数  : 函数调用本身。

    列:

    5的阶乘 :——》120

    int mm(int a) {  

    if (a<=1)  

       {       

      return a;    

    }    

    else    

    {        

    return mm(a-1)*a;   

      }

    }

    int main(int argc, const char * argv[])

    {   

        int a=mm(5);   

         printf("%d ",a);   

         return 0;

    }

    步奏:先传参进mm(5) ,   if  不满足,  esle  调用mm(4)*5

    mm(4)    if  不满足,  esle  调用mm(3)*4

    mm(3)    if  不满足,  esle  调用mm(2)*3

    mm(2)   if  不满足,  esle  调用mm(1)*2

    mm(1)    if  满足  。

    return 返回值  1

    综上所述  得 1*2*3*4*5

    //2的4次方

    int mm(int a,int b) {  

    if (b<=1)  

       {       

      return a;    

    }    

    else    

    {        

    return mm(a,b-1)*a;   

      }

    }

    int main(int argc, const char * argv[])

    {   

        int a=mm(2,4);   

         printf("%d ",a);   

         return 0;

    }

    步奏:先传参进mm(2,4) ,   if  不满足,  esle  调用mm(2,3)*2

    mm(2,3)    if  不满足,  esle  调用mm(2,2)*2

    mm(2,2)    if  不满足,  esle  调用mm(2,1)*2,

    mm(2,1)    if  满足  。

    return 返回值  2

    综上所述  得 2*2*2*2  得 16

  • 相关阅读:
    CControlLayer
    CBiontCache
    CHero
    CWidgetMgr---cpp
    CWidgetMgr---H
    CXAnimation类
    CXAnimation.h动画类
    CXCommon.h工具类
    【leetcode】441. Arranging Coins
    【linux基础】关于ARM板子使用O3编译选项优化
  • 原文地址:https://www.cnblogs.com/wangjinshan/p/7110493.html
Copyright © 2011-2022 走看看