民國114年 第2梯次 延期考區 電腦軟體設計(JAVA)乙級 學科

第50題

以下為一C 語言撰寫之遞迴函式(Recursive Function) ,假設N≧0,而此函式是用來計算0 至N 之間的所有整數之和,則空格中應填入以下何者?

題目

以下為一C 語言撰寫之遞迴函式(Recursive Function) ,假設N≧0,而此函式是用來計算0 至N 之間的所有整數之和,則空格中應填入以下何者?

  1. (1) return(N-1)+Sum(N)
  2. (2) return(N-1)+ Sum(N-1)
  3. (3) return N+Sum(N-1)
  4. (4) while(N<>0)return N+Sum(N+1)

官方答案

(3) return N+Sum(N-1)

解析

計算0到N整數和,遞迴式為Sum(N)=N+Sum(N-1),且Sum(0)=0。每次呼叫將N加上Sum(N-1),遞減至0結束。選項3「return N+Sum(N-1)」正確。選項1、2會重複或錯算;選項4用while且傳入N+1會無限遞增造成堆疊溢位,故選3。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料