APCS
給定下方函式 f()
,已知 f(14)
、f(10)
、f(6)
分別回傳 25、18、10,函式中的 (?) 應為下列何者?
(A) (n + 1) / 2
(B) n / 2
(C) (n - 1) / 2
(D) (n / 2) + 1
函數 f()
定義如下,如果呼叫 f(1000)
,指令 sum = sum + i
被執行的次數最接近下列何者?
(A) 1000
(B) 3000
(C) 5000
(D) 10000
請問以 a(13, 15)
呼叫下方 a()
函式,函式執行完後其回傳值為何?
(A) 90
(B) 103
(C) 93
(D) 60
給定下方 g()
函式,g(13)
回傳值為何?
(A) 16
(B) 18
(C) 19
(D) 22
給定下方函式 f1()
及 f2()
。f1(1)
運算過程中,以下敘述何者為錯?
(A) 印出的數字最大的是 4
(B) f1
一共被呼叫二次
(C) f2
一共被呼叫三次
(D) 數字 2 被印出兩次
下方程式輸出為何?
(A)
(B)
(C)
(D)
給定下方函式 f()
,當執行 f(10)
時,最終回傳結果為何?
(A) 1
(B) 3840
(C) -3840
(D)執行時導致無窮迴圈,不會停止執行
下方為一個計算 n 階層的函式,請問該如何修改才會得到正確的結果?
(A) 第 2 行,改為 int fac = n;
(B) 第 3 行,改為 if (n > 0) {
(C) 第 4 行,改為 fac = n * fun(n + 1);
(D) 第 4 行,改為 fac = fac * fun(n - 1);
下方 g(4)
函式呼叫執行後,回傳值為何?
(A) 6
(B) 11
(C) 13
(D) 14
下方 Mystery()
函式 else
部分運算式應為何,才能使得 Mystery(9)
的回傳值為 34
?
(A) x + Mystery(x - 1)
(B) x * Mystery(x - 1)
(C) Mystery(x - 2) + Mystery(x + 2)
(D) Mystery(x - 2) + Mystery(x - 1)
給定下方 G()
, K()
兩函式,執行 G(3)
後所回傳的值為何?
(A) 5
(B) 12
(C) 14
(D) 15
下方函式以 F(7)
呼叫後回傳值為 12,則 <condition>
應為何?
(A) a < 3
(B) a < 2
(C) a < 1
(D) a < 0
下方主程式執行完三次 G()
的呼叫後,p
陣列中有幾個元素的值為 0?
(A) 1
(B) 2
(C) 3
(D) 4
給定下方 G()
函式,執行 G(1)
後所輸出的值為何?
(A) 1 2 3
(B) 1 2 3 2 1
(C) 1 2 3 3 2 1
(D) 以上皆非
下方程式執行後輸出為何?
(A) 0
(B) 10
(C) 25
(D) 50
下方 G()
應為一支遞迴函式,已知當 a
固定為 2
,不同的變數 x
值會有不同的回傳值如下表所示。請找出 G()
函式中 (a)
處的計算式該為何?
a 值 | x 值 | G(a, x) 回傳值 |
---|---|---|
2 | 0 | 1 |
2 | 1 | 6 |
2 | 2 | 36 |
2 | 3 | 216 |
2 | 4 | 1296 |
2 | 5 | 7776 |
(A) ((2 * a) + 2) * G(a, x - 1)
(B) (a + 5) * G(a - 1, x - 1)
(C) ((3 * a) - 1) * G(a, x - 1)
(D) (a + 6) * G(a, x - 1)
下方 G()
為遞迴函式,G(3, 7)
執行後回傳值為何?
(A) 128
(B) 2187
(C) 6561
(D) 1024
下方函式若以 search(1, 10, 3)
呼叫時, search
函式總共會被執行幾次?
(A) 2
(B) 3
(C) 4
(D) 5
給定函式 A1()
、 A2()
與 F()
如下,以下敘述何者有誤?
(A) A1(5)
印的 * 個數比 A2(5)
多
(B) A1(13)
印的 * 個數比 A2(13)
多
(C) A2(14)
印的 * 個數比 A1(14)
多
(D) A2(15)
印的 * 個數比 A1(15)
多
下方 F()
函式回傳運算式該如何寫,才會使得 F(14)
的回傳值為 40
?
(A) n * F(n - 1)
(B) n + F(n - 3)
(C) n - F(n - 2)
(D) F(3n + 1)
若以 B(5, 2)
呼叫下方 B()
函式,總共會印出幾次 "base case"?
(A) 1
(B) 5
(C) 10
(D) 19
若以 G(100)
呼叫下方函式後,n
的值為何?
(A) 25
(B) 75
(C) 150
(D) 250
若以 F(15)
呼叫下方 F()
函式,總共會印出幾行數字?
(A) 16 行
(B) 22 行
(C) 11 行
(D) 15 行
若以 F(5, 2)
呼叫下方 F()
函式,執行完畢後回傳值為何?
(A) 1
(B) 3
(C) 5
(D) 8
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
B | B | B | C | C |
6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|
A | C | B | C | D |
11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|
C | D | C | B | D |
16 | 17 | 18 | 19 | 20 |
---|---|---|---|---|
A | B | C | D | B |
21 | 22 | 23 | 24 | 25 |
---|---|---|---|---|
C | D | D | C | - |