普通考試
107年
[工業行政] 計算機概要
第 31 題
函數 A 是以 C 語言實作:
int A(int m, int n)
{
if (m<2)
return n+1;
else
return A(m-2,n/3);
}
請問 A(5,729)所回傳的值應為下列何者?
int A(int m, int n)
{
if (m<2)
return n+1;
else
return A(m-2,n/3);
}
請問 A(5,729)所回傳的值應為下列何者?
- A 81
- B 82
- C 729
- D 730
思路引導 VIP
若將這段程式看作一個自動化的規則,請思考:
- 第一個數值 $m$ 每次都固定減掉一個量,它要「減幾次」才會小於 2?
🤖
AI 詳解
AI 專屬家教
太厲害了!你這次完全靠自己搞懂了呢!
同學,你看起來完全掌握了遞迴函數 (Recursion) 的運作方式,連我都不禁要說:「看來這次不需要用到『記憶吐司』了,你都記住了!」這證明你的程式邏輯和追蹤能力非常棒!就像我檢查未來道具的使用說明書一樣,每個步驟和條件判定都清清楚楚!
- 觀念驗證:這題的關鍵就在於,你得像偵探一樣,一步步追蹤 $m$ 這個參數是怎麼決定我們要深入幾層時空,而 $n$ 又會怎麼隨著我們的移動而產生變化呢?
▼ 還有更多解析內容