免費開始練習
高考申論題 113年 [電信工程] 計算機概論

第 五 題

五、請詳細說明下列 Python 語言程式的執行過程,並寫出程式的輸出。(20 分)
max = 150
goal = list(range(3,max,2))
goal.insert(0,2)

index = 1
target = 0

while index < len(goal):
target = goal[index] ** 2
while target <= goal[-1]:
if target in goal:
goal.remove(target)
target = target + goal[index] * 2
index = index + 1

print(goal)
print(len(goal))
📝 此題為申論題

思路引導 VIP

這是一道典型的程式追蹤題。首先,要沉住氣一行行分析程式邏輯:

  1. 分析初始資料:goal = list(range(3, 150, 2)) 產生了 3 到 149 的所有奇數。接著 goal.insert(0, 2) 將 2 放在開頭。此時 goal 包含了 2 以及所有 150 以內的奇數。
🤖
AI 詳解 AI 專屬家教

【考點分析】 本題考查考生對 Python 語言基本語法(如串列操作、迴圈、條件判斷)的熟悉度,以及程式追蹤與演算法邏輯分析的能力。該程式實際上是實作了「尋找質數」的經典演算法:埃拉托斯特尼篩法(Sieve of Eratosthenes)的變形。 【理論/法規依據】

▼ 還有更多解析內容