深耕专业教研,探索前沿技术
信息技术来源:2025学年第二学期北斗星盟高三适应性联考

第 9 题

答案与解析

本题解析

参考答案

C

解题思路

函数在n≤2时直接返回,其余分支用更小的参数调用自身,构成递归;本题按参数范围采用不同的返回值合成方式。

程序分析

if n <= 2:
    return 1

n≤2时返回1,为各层递归提供计算起点。

if n <= 5:
    return f(n-1) + n
else:
    return f(n-3) + f(n-4)

能执行到第二个if,说明n>2。因此,3≤n≤5时,在前一个函数值f(n-1)上加n;n>5时,将f(n-3)和f(n-4)相加。

调用展开:f(7)=f(4)+f(3),其中f(4)=f(3)+4,f(3)=f(2)+3。

由出口f(2)=1逐层返回,可得f(3)=4、f(4)=8,最后f(7)=8+4=12。