信息技术来源:浙江省新阵地教育联盟2026届第二次联考技术试题卷
第 10 题
答案与解析
本题解析
参考答案
C
解题思路
函数以n≤2为递归出口,否则用更小的参数n-1、n-2调用自身,并将两个返回值相加,构成二分支递归。
程序分析
def f(n):
if n <= 2:
return n
else:
return f(n-1) + f(n-2)调用f(5)时,先计算f(4),再计算f(3)。统计调用次数时,每进入一次函数就计1次,包括到达出口的调用;参数相同但分别发生的调用也要分别计数。
设T(n)为执行f(n)产生的全部调用次数,包含当前调用。由出口条件得T(1)=T(2)=1;当n>2时,两个子调用产生的次数分别为T(n-1)、T(n-2),再加上当前调用,得T(n)=1+T(n-1)+T(n-2)。
依次计算:
T(3)=1+1+1=3;
T(4)=1+3+1=5;
T(5)=1+5+3=9。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_03_G3_xinzhendi_q010
