信息技术来源:2026年4月杭州二模技术试卷
第 10 题
答案与解析
本题解析
参考答案
B
解题思路
函数以 n=0 为出口,否则调用自身 f(n-1,-sign)。每次调用使 n 减少 1,最终到达出口,构成递归结构。
程序分析
def f(n, sign):
if n == 0:
return n
return n * sign + f(n - 1, -sign)调用 f(5, 1) 后,n 尚不为 0,当前层需将 n * sign 与下一层返回值相加。下一层的 sign 取反,使相邻两层的加数正负交替;n=0 时直接返回 0,随后逐层完成加法并返回。
调用依次展开为 f(5,1)→f(4,-1)→f(3,1)→f(2,-1)→f(1,1)→f(0,-1)。
出口返回 0 后,由内向外合成:f(1,1)=1+0=1,f(2,-1)=-2+1=-1,f(3,1)=3-1=2,f(4,-1)=-4+2=-2,最后 f(5,1)=5-2=3。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_04_G3_hangzhouermo_q010
