• 递归函数


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

    列:

    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

  • 相关阅读:
    对volatile的理解
    CAP定理与BASE理论
    选择排序
    冒泡排序
    python使图片转化为pdf
    宝藏网站
    python操作es更新某个字段的名字,不根据id
    PhpStorm 断点调试
    简单理解cookie与session
    虚拟判题机对接文档
  • 原文地址:https://www.cnblogs.com/wangjinshan/p/7110493.html
Copyright © 2020-2023  润新知