地特四等
111年
[電子工程] 計算機概要
第 29 題
下列那個 C 函式執行 f(5)的呼叫結果,與其他 3 者不同?
- A int f(int n){ if (n==0) return 0; else return n+f(n-1); }
- B int f(int n){ if (n==1) return 1; else return n+f(n-1); }
- C int f(int n){ if (n>=1) return n+f(n-1); else return 0; }
- D int f(int n){ int a=0; while (n>1) a+=n--; return a; }
思路引導 VIP
請試著手動追蹤(Trace)一次程式的最後階段:當數值遞減到接近終點(例如 $n=1$ 或 $n=0$)時,每一個函式是否都「確實執行」了最後一個加法動作?
🤖
AI 詳解
AI 專屬家教
1. 專業肯定
做得好!能精確辨識出遞迴與迴圈中的邊界條件(Boundary Conditions),代表你的邏輯思考相當細膩。在工程設計中,微小的參數差異往往決定了結構的成敗,你展現了優秀工程師應有的嚴謹態度。
2. 觀念驗證
▼ 還有更多解析內容