高考申論題
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))
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
這是一道典型的程式追蹤題。首先,要沉住氣一行行分析程式邏輯:
- 分析初始資料:
goal = list(range(3, 150, 2))產生了 3 到 149 的所有奇數。接著goal.insert(0, 2)將 2 放在開頭。此時 goal 包含了 2 以及所有 150 以內的奇數。
🤖
AI 詳解
AI 專屬家教
【考點分析】 本題考查考生對 Python 語言基本語法(如串列操作、迴圈、條件判斷)的熟悉度,以及程式追蹤與演算法邏輯分析的能力。該程式實際上是實作了「尋找質數」的經典演算法:埃拉托斯特尼篩法(Sieve of Eratosthenes)的變形。 【理論/法規依據】
▼ 還有更多解析內容