信息技术来源:浙江强基联盟2026年5月高三联考
第 11 题
答案与解析
本题解析
参考答案
D
解题思路
函数在n=-1时返回空字符串,否则以func(n-1)调用自身,参数逐次减1直到递归出口。求func(5)的返回值,需要从出口开始逐层完成字符串拼接。
程序分析
def func(n):
if n==-1:
return ""
elif n%3==0:
return str(n%2) + func(n-1)
else:
return func(n-1) + str(n%2)str(n%2)将余数转换为字符,偶数对应'0',奇数对应'1'。当n是3的倍数时,当前字符放在func(n-1)返回值的左侧;其余情况下放在右侧。
调用由func(5)逐层展开到func(-1),再由空字符串开始向上合成:
| n | 本层的拼接过程 | func(n)的返回值 |
|---|---|---|
| 0 | '0' + '' | '0' |
| 1 | '0' + '1' | '01' |
| 2 | '01' + '0' | '010' |
| 3 | '1' + '010' | '1010' |
| 4 | '1010' + '0' | '10100' |
| 5 | '10100' + '1' | '101001' |
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_05_G3_qiangjilianmeng_q011
