國中教甄|資訊科技資訊科技115 年第 13 題單選題
執行下列 Python 遞迴函式 recursionExample(6),其傳回值為何? def recursionExample(k): if k > 0: return recursionExample(k-3) + recursionExample(k-2) elif k == 0: return 1 else: return 0
B正確答案
透過逐步展開遞迴樹至終止條件並由下而上加總,可計算出 recursionExample(6) 的最終傳回值為 2。
逐選項解析
A1✕ 錯誤
計算過程中若漏算 recursionExample(4) 展開後的 recursionExample(2) 分支,可能會誤選 1。
B2✓ 正確
正確展開所有分支並加總,recursionExample(3) 傳回 1 且 recursionExample(4) 傳回 1,總和為 2。
C3✕ 錯誤
若將 k=1 或 k=2 的傳回值誤算為 1,會導致總和錯誤而選 3。
D6✕ 錯誤
若誤以為每次呼叫都會傳回 1 且未考慮 k<0 傳回 0 的條件,可能會將呼叫次數或錯誤加總誤認為 6。
立即註冊,看進階詳解與知識整理
這題的進階詳解與知識整理,註冊就能看 · 每天 2 題免費
精選詳解- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本