標題:
APCS_觀念題_10503_3 (練習)
[打印本頁]
作者:
方浩葦
時間:
2024-9-7 00:27
標題:
APCS_觀念題_10503_3 (練習)
本帖最後由 方浩葦 於 2024-9-7 14:14 編輯
給定一整數陣列 b[0]、b[1]、…、b[49],其中 b[k] = 2k + 5,即每個元素是 k 的兩倍加 5。
以 value = 37 呼叫以下兩個函式,假設函式 g1 及 g2 的 while 迴圈主體分別執行 m1 與 m2 次,請問 m1 與 m2 之值為何?
int g1(int b[], int value) {
int r_value = -1;
int i = 0;
while (i < 50) {
if (b[i] == value) {
r_value = i; break;
}
i = i + 1;
}
return r_value;
}
int g2(int b[], int value) {
int r_value = -1;
int low = 0, high = 49;
int mid;
while (low <= high) {
mid = (low + high) / 2;
if (b[mid] == value) {
r_value = mid; break;
} else if (b[mid] < value) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return r_value;
}
複製代碼
選項:
(A) m1 = 16, m2 = 5
(B) m1 = 16, m2 = 6
(C) m1 = 17, m2 = 5
(D) m1 = 17, m2 = 6
本帖隱藏的內容需要積分高於 1 才可瀏覽
作者:
陳泓亦
時間:
2024-9-7 14:56
此帖僅作者可見
作者:
黃暐鈞
時間:
2024-9-7 15:05
此帖僅作者可見
作者:
許浩浩
時間:
2024-9-7 15:11
此帖僅作者可見
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2