免費開始練習
高考申論題 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

這是一道 Python 程式追蹤題。首先識別程式邏輯:range(3, 150, 2) 生成 3 到 149 的奇數。插入 2 後,goal 初始為 [2, 3, 5, 7, 9, 11, ..., 149]。外層迴圈從 index=1(即數字 3)開始。內層迴圈計算平方(例如 3 的平方是 9),並以該數的兩倍為間隔(例如 3*2=6)進行刪除。觀察此邏輯,這正是「埃拉托斯特尼篩法」(Sieve of Eratosthenes)的變體,目的是找出 150 以內的所有質數。考生需要耐心推演前幾步,並得出最後結果為質數列表。

🤖
AI 詳解 AI 專屬家教

【考點分析】 本題考查 Python 列表操作(insert, remove)、迴圈控制及邏輯分析能力。該程式實作了尋找質數的篩選演算法。 【分析與論述】

▼ 還有更多解析內容

升級 VIP 解鎖