开发者社区> 问答> 正文

5. 设有一个递归算法如下 int x (int n) { if (n<=3) return 1; else return x(n-2)+x(n-4)+1; }

试问计算 x(x(8))时需要计算( )次x函数。求大神解答!

展开
收起
知与谁同 2018-07-21 17:42:06 6900 0
2 条回答
写回答
取消 提交回答
  • 12535
    18次——因为x(8)==9,它需要调用9次;x(9)也要调用9次,共18次。
    2019-07-17 22:55:33
    赞同 展开评论 打赏
  • #include<stdio.h>
    #include<malloc.h>

    int count = 0;
    int x (int n)
    {
    count = count + 1;
    printf("%d  n = %d\n", count, n);
    if (n<=3)
    {
    return 1;
    }
    else
    {
    return x(n-2)+x(n-4)+1;
    }
    }

    int main(void)
    {
    x(x(8));
    return 0;
    }
    2019-07-17 22:55:33
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载