深耕专业教研,探索前沿技术
信息技术来源:2026年4月杭州二模技术试卷

第 11 题

答案与解析

本题解析

参考答案

A

程序分析

from random import randint
n = len(s)
res = ""
i, j = 0, n - 1
while len(res) < n:
    k = randint(1,n)  #随机生成[1,n]之间的整数
    if k % 2 == 0:
        res += s[i]; i = (i + k) % n
    else:
        res += s[j]; j = (j - k) % n

s 为 ABCDE,故 n=5,i、j 初值分别为 0、4,指向 A、E。每轮 k 在 1~5 中随机取整数:k 为偶数时,先追加 s[i],再将 i 向后移动 k 个位置并对 5 取模;k 为奇数时,先追加 s[j],再将 j 向前移动 k 个位置并对 5 取模。每轮只更新所选分支中的下标,另一下标保持不变。循环每轮追加一个字符,共执行 5 轮。

选项分析

A

不可能。首字符为 A,第一轮必须取偶数 k,即 2 或 4。追加 A 后,i 变为 2 或 4,j 仍为 4。第二轮若取偶数,只能追加 C 或 E;若取奇数,则追加 E,所以第二个字符不可能为 B。

B

可能。例如 k 依次取 2、1、4、1、2,访问的下标依次为 0、4、2、3、1,得到 AECDB。

C

可能。例如 k 依次取 1、2、1、1、1,访问的下标依次为 4、0、3、2、1,得到 EADCB。

D

可能。每轮均取 k=1,会一直使用 j,从下标 4 依次访问到 0,得到 EDCBA。