民國115年 普通考試 電子工程 計算機概要
第25題
給定下列以C 語言實作的函數A,下列敘述何者錯誤?int A(int m, int n){if (m < n)return 0;elsereturn A(m-n…
題目
給定下列以C 語言實作的函數A,下列敘述何者錯誤?int A(int m, int n){if (m < n)return 0;elsereturn A(m-n, n)+1;} A. A(4, 2)=A(2, 2)+1 B. A(2, 8)=A(2, 7) C. A(7, 2)=A(3, 2)+2 D. A(2, 8)=A(2, 4)+1
官方答案
- 答案:D. A(2, 8)=A(2, 4)+1
解析
此函式在 m<n 時回傳 0,否則以 A(m-n,n)+1 遞迴,效果等於計算 m 除以 n 的整數商 floor(m/n)。A(4,2)=2,而 A(2,2)+1=1+1=2,A 成立;A(2,8)=0=A(2,7),B 成立;A(7,2)=3,A(3,2)+2=1+2=3,C 成立。D 中 A(2,8)=0,但 A(2,4)+1=0+1=1,兩邊不相等,故 D 為錯誤敘述。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。