3.24.c

来自「数据结构习题及答案」· C语言 代码 · 共 19 行

C
19
字号
3.24③ 试编写如下定义的递归函数的递归算法:
      g(m,n) = 0             当m=0,n>=0
      g(m,n) = g(m-1,2n)+n   当m>0,n>=0
并根据算法画出求g(5,2)时栈的变化过程。

实现下列函数:
int g(int m, int n); 
/* if m<0 or n<0 then return -1. */
int G(int m, int n)
/* if m<0 or n<0 then return -1. */
{   int s;
    if(m==0&&n>=0) s=0;
    else if(m>0&&n>=0) s=n+G(m-1,2*n);
    else return (-1);
    return s;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?