返回列表 發帖

APCS 觀念題 10503 模擬考 3

本帖最後由 李泳霖 於 2022-9-17 22:25 編輯

給定一整數陣列 a[0]、a[1]、…、a[29]且 a[k]=5k-1,
以 value=99 呼叫以下面函式,
假設函式 f1 及 f2 之 while 迴圈主體分別執行 n1 與 n2 次
(i.e,  計算 if 敘述執行次數,不包含 else if 敘述),
請問 n1 與 n2 之值為何?
註: (low + high)/2 只取整數部分
  1. int f1(int a[], int value)
  2. {
  3.       int r_value = -1;
  4.       int low = 0, high = 99; int mid;
  5.       while (low <= high)
  6.       {
  7.             mid = (low + high)/2;
  8.             if (a[mid] == value)
  9.             {
  10.                   r_value = mid; break;
  11.             }
  12.             else if (a[mid] < value)
  13.             {
  14.                   low = mid + 1;
  15.             }
  16.             else
  17.             {
  18.                   high = mid - 1;
  19.             }
  20.       }
  21.       return r_value;
  22. }
複製代碼
  1. int f2(int a[], int value)
  2. {
  3.       int r_value = -1;
  4.       int i = 0;
  5.       while (i < 100)
  6.       {
  7.             if (a[i] == value)
  8.             {
  9.                   r_value = i; break;
  10.             }
  11.             i = i + 1;
  12.       }
  13.       return r_value;
  14. }
複製代碼
本帖隱藏的內容需要回復才可以瀏覽
istak.teach2@gmail.com

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表