设有一个递归算法如下:int X(int n); if(n<=3)return 1; else return X(n一2)+X(n一4)+1; 试问计算X(X(5))时需要调用( )次X函数。
A、
2
B、
3
C、
4
D、
5
【正确答案】
C
【答案解析】
解析:该递归算法的定义为:
即当参数值小于等于3的时候,整个流程调用X(n)一次,而当参数值大于3的时候,整个流程调用X(n)至少3次(第一次即本次调用,第二次为X(n—2),第三次为X(n—4))。 X(X(5))递归调用的执行结果如下:
提交答案
关闭