Examly題庫
國中教甄|資訊科技資訊科技111 年第 7 題單選題

下列程式碼的輸出為何? #include <stdio.h> int f(int a) { if (a <= 0) return 1; else return f(a-4) + f(a/2); } int main() { printf("%d", f(15)); return 0; }

A29
B23
C17正確答案
D5
答案與詳解
C
正確答案
透過追蹤遞迴函式的呼叫樹並由下而上計算,可得 f(15) 的結果為 17。

逐選項解析

A29✕ 錯誤
計算錯誤,可能在遞迴展開時加總錯誤或遺漏某些分支。
B23✕ 錯誤
計算錯誤,可能將參數代入錯誤(如誤算 f(a/2) 的值)導致結果偏大。
C17✓ 正確
D5✕ 錯誤

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本
接著練習整份考卷查看 111 年 國中教甄|資訊科技《資訊科技》完整試題與解答

資訊科技 相關題目

想練更多資訊科技考古題?

Examly 收錄 50 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Examly