信息技术来源:台州市2026届高三第二次教学质量评估试题
第 12 题
答案与解析
本题解析
参考答案
A
程序分析
from random import randint
a = [3,1,6,8,12,14,20,9,10,11]
n,total = len(a),0
for i in range(n-1,-1,-2):
...列表长度为10,i依次取9、7、5、3、1,循环执行5轮,total初值为0。
t = i-randint(0,i//2)*2
if a[t] % 2 == 0:
total += 1
else:
total -= 1randint(0,i//2)的取值包含两端。i为奇数,减去不超过i的偶数后,t可取1、3、…、i,即当前范围内的奇数下标。选中元素为偶数时total加1,为奇数时减1。
a[i],a[t] = a[t],a[i]交换把刚统计的元素放到下标i。下一轮i减少2,该位置便退出待选范围。若t<i,原a[i]换到t处,仍可在后续被选中;若t=i,则该元素原地退出。每轮由此恰好移出一个已统计元素。
5轮后,初始奇数下标1、3、5、7、9上的元素均恰好统计一次。它们是1、8、14、9、11,其中偶数2个、奇数3个,因此total=2-3=-1。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_04_G3_taizhouermo_q012
