信息技术来源:金丽衢十二校2025学年高三第二次联考
第 7 题
答案与解析
本题解析
参考答案
A
解题思路
函数在 b=0 时返回 1,否则以 b//2 为新参数调用自身。对于本题的非负整数 b,参数逐次减小直至 0,因此是递归结构。
程序分析
def f(a, b):
if b == 0:
return 1
elif b % 2 == 0:
return f(a * a, b // 2)
else:
return f(a * a, b // 2) * a主程序调用 f(2,10)。当 b=2k 时,函数直接返回 f(a²,k);当 b=2k+1 时,返回 f(a²,k) 与本层 a 的乘积。这分别对应 a²ᵏ=(a²)ᵏ、a²ᵏ⁺¹=(a²)ᵏ×a。递归出口返回 a⁰=1,各层返回时按上述关系合成结果,所以 f(a,b) 计算 a 的 b 次方。
本次 a=2、b=10,函数返回 2¹⁰=1024,赋给 result 后输出。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_03_G3_jinliqu_q007
